From 9ad3be43ed7eed3eb4a69f34848c9333151cebfc Mon Sep 17 00:00:00 2001 From: Carson Ip Date: Mon, 3 Feb 2025 18:01:07 +0000 Subject: [PATCH 1/2] [apmbench] Add trace only benchmarks (#15434) * Add BenchmarkTracesAgentNodeJS * Add more agents * Update comment * Exclude BenchmarkTraces* from scheduled runs to avoid skewing nightly results * Use loadgen.NewEventHandler --- .github/workflows/benchmarks.yml | 5 + systemtest/benchtest/clients.go | 47 + systemtest/cmd/apmbench/events/README.md | 1 + .../events/apm-go-traces-2.0.0.ndjson | 4890 +++++++++++++++++ .../events/apm-nodejs-traces-3.29.0.ndjson | 1845 +++++++ .../events/apm-python-traces-6.7.2.ndjson | 4832 ++++++++++++++++ .../events/apm-ruby-traces-4.5.0.ndjson | 3345 +++++++++++ systemtest/cmd/apmbench/main.go | 41 + 8 files changed, 15006 insertions(+) create mode 100644 systemtest/cmd/apmbench/events/README.md create mode 100644 systemtest/cmd/apmbench/events/apm-go-traces-2.0.0.ndjson create mode 100644 systemtest/cmd/apmbench/events/apm-nodejs-traces-3.29.0.ndjson create mode 100644 systemtest/cmd/apmbench/events/apm-python-traces-6.7.2.ndjson create mode 100644 systemtest/cmd/apmbench/events/apm-ruby-traces-4.5.0.ndjson diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index e0b67af8426..098c088b124 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -103,6 +103,11 @@ jobs: echo "BENCHMARK_RUN=${{ inputs.benchmarkRun }}" >> "$GITHUB_ENV" fi + # exclude BenchmarkTraces* from scheduled benchmarks + - if: github.event_name == 'schedule' + run: | + echo "BENCHMARK_RUN=Benchmark[^T]" >> "$GITHUB_ENV" + - name: Log in to the Elastic Container registry uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 with: diff --git a/systemtest/benchtest/clients.go b/systemtest/benchtest/clients.go index 837a6692669..8cf8a22858f 100644 --- a/systemtest/benchtest/clients.go +++ b/systemtest/benchtest/clients.go @@ -20,7 +20,9 @@ package benchtest import ( "context" "crypto/tls" + "io/fs" "net/url" + "path/filepath" "testing" "go.opentelemetry.io/otel/exporters/otlp/otlptrace" @@ -98,6 +100,8 @@ func NewOTLPExporter(tb testing.TB) *otlptrace.Exporter { // NewEventHandler creates a eventhandler which loads the files matching the // passed regex. +// +// It has to use loadgen.NewEventHandler as it has access to the private `events` FS Storage. func NewEventHandler(tb testing.TB, p string, l *rate.Limiter) *eventhandler.Handler { serverCfg := loadgencfg.Config h, err := loadgen.NewEventHandler(loadgen.EventHandlerParams{ @@ -114,3 +118,46 @@ func NewEventHandler(tb testing.TB, p string, l *rate.Limiter) *eventhandler.Han } return h } + +// NewFSEventHandler creates an eventhandler which loads the files matching the +// passed regex in fs. +func NewFSEventHandler(tb testing.TB, p string, l *rate.Limiter, fs fs.FS) *eventhandler.Handler { + serverCfg := loadgencfg.Config + h, err := newFSEventHandler(loadgen.EventHandlerParams{ + Path: p, + URL: serverCfg.ServerURL.String(), + Token: serverCfg.SecretToken, + Limiter: l, + RewriteIDs: serverCfg.RewriteIDs, + RewriteTimestamps: serverCfg.RewriteTimestamps, + Headers: serverCfg.Headers, + }, fs) + if err != nil { + tb.Fatal(err) + } + return h +} + +func newFSEventHandler(p loadgen.EventHandlerParams, fs fs.FS) (*eventhandler.Handler, error) { + t, err := transport.NewHTTPTransport(transport.HTTPTransportOptions{}) + if err != nil { + return nil, err + } + transp := eventhandler.NewTransport(t.Client, p.URL, p.Token, p.APIKey, p.Headers) + cfg := eventhandler.Config{ + Path: filepath.Join("events", p.Path), + Transport: transp, + Storage: fs, + Limiter: p.Limiter, + Rand: p.Rand, + RewriteIDs: p.RewriteIDs, + RewriteServiceNames: p.RewriteServiceNames, + RewriteServiceNodeNames: p.RewriteServiceNodeNames, + RewriteServiceTargetNames: p.RewriteServiceTargetNames, + RewriteSpanNames: p.RewriteSpanNames, + RewriteTransactionNames: p.RewriteTransactionNames, + RewriteTransactionTypes: p.RewriteTransactionTypes, + RewriteTimestamps: p.RewriteTimestamps, + } + return eventhandler.New(cfg) +} diff --git a/systemtest/cmd/apmbench/events/README.md b/systemtest/cmd/apmbench/events/README.md new file mode 100644 index 00000000000..0e9c6109cc4 --- /dev/null +++ b/systemtest/cmd/apmbench/events/README.md @@ -0,0 +1 @@ +These event files are the trace only versions of their counterparts in apm-perf, obtained by e.g. `grep -E '^{"span|^{"transaction|^{"meta' apm-python-6.7.2.ndjson > apm-python-traces-6.7.2.ndjson`. These sampled traces files are useful to benchmark tail-based sampling. \ No newline at end of file diff --git a/systemtest/cmd/apmbench/events/apm-go-traces-2.0.0.ndjson b/systemtest/cmd/apmbench/events/apm-go-traces-2.0.0.ndjson new file mode 100644 index 00000000000..95abe54ef03 --- /dev/null +++ b/systemtest/cmd/apmbench/events/apm-go-traces-2.0.0.ndjson @@ -0,0 +1,4890 @@ +{"metadata":{"system":{"architecture":"arm64","hostname":"3ff988a6070f","platform":"linux"},"process":{"pid":1,"argv":["/opbeans-go","-log-json","-log-level=debug","-listen=:3000","-frontend=/opbeans-frontend","-db=postgres:","-cache=redis://redis:6379"],"ppid":0,"title":"opbeans-go"},"service":{"agent":{"name":"go","version":"2.0.0"},"environment":"production","language":{"name":"go","version":"go1.17.7"},"name":"opbeans-go","runtime":{"name":"gc","version":"go1.17.7"},"version":"None"}}} +{"span":{"duration":3.421459,"id":"6eeb30decaacde3f","name":"DNS opbeans-ruby","timestamp":1646055412688946,"trace_id":"1d6d6c15af2a7419a949c700fd288556","type":"external","action":"dns","outcome":"success","parent_id":"f947708655303f0c","sample_rate":1,"subtype":"http","transaction_id":"1d6d6c15af2a7419"}} +{"span":{"duration":2.524666,"id":"34b4da00b3bfa833","name":"Connect 172.23.0.12:3000","timestamp":1646055412692388,"trace_id":"1d6d6c15af2a7419a949c700fd288556","type":"external","action":"connect","outcome":"failure","parent_id":"f947708655303f0c","sample_rate":1,"subtype":"http","transaction_id":"1d6d6c15af2a7419"}} +{"span":{"duration":14.666833,"id":"f947708655303f0c","name":"GET opbeans-ruby:3000","timestamp":1646055412680258,"trace_id":"1d6d6c15af2a7419a949c700fd288556","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders"}},"outcome":"success","parent_id":"1d6d6c15af2a7419","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":129,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*roundTripper).RoundTrip","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":298,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1d6d6c15af2a7419"}} +{"transaction":{"duration":27.615709,"id":"1d6d6c15af2a7419","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055412678262,"trace_id":"1d6d6c15af2a7419a949c700fd288556","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"status_code":502},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":23.582375,"id":"48e166a127c10be3","name":"SELECT FROM products","timestamp":1646055421611175,"trace_id":"22ce49b1aad6131ea366ce3ad6176d84","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8ae985673f7cc477","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"conn.go","lineno":119,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).finishSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"conn.go","lineno":139,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).QueryContext","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"ctxutil.go","lineno":48,"abs_path":"/usr/local/go/src/database/sql/ctxutil.go","function":"ctxDriverQuery","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1722,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC.func1","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":3396,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"withLock","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1717,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1700,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).query","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1674,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).QueryContext","library_frame":true,"module":"database/sql"},{"filename":"products.go","lineno":41,"abs_path":"/src/opbeans-go/products.go","function":"getTopProducts","module":"main"},{"filename":"api.go","lineno":102,"abs_path":"/src/opbeans-go/api.go","function":"apiHandlers.getProductDetails","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":200,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"postgresql","transaction_id":"8ae985673f7cc477"}} +{"transaction":{"duration":28.692916,"id":"8ae985673f7cc477","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055421608265,"trace_id":"22ce49b1aad6131ea366ce3ad6176d84","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Traceparent":"00-22ce49b1aad6131ea366ce3ad6176d84-fe964d6345cba85a-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-22ce49b1aad6131ea366ce3ad6176d84-fe964d6345cba85a-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"fe964d6345cba85a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.0887089999999997,"id":"e2cc6c8240ad357d","name":"DNS opbeans-python","timestamp":1646055421981209,"trace_id":"bd5afb176eb4cd16cb068b24d8e5c77c","type":"external","action":"dns","outcome":"success","parent_id":"108ebf00789f2b7a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9850099ec17d6583"}} +{"span":{"duration":0.703541,"id":"1ef0c066f342f20b","name":"Connect 172.23.0.11:3000","timestamp":1646055421983308,"trace_id":"bd5afb176eb4cd16cb068b24d8e5c77c","type":"external","action":"connect","outcome":"failure","parent_id":"108ebf00789f2b7a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9850099ec17d6583"}} +{"span":{"duration":3.367083,"id":"108ebf00789f2b7a","name":"GET opbeans-python:3000","timestamp":1646055421980653,"trace_id":"bd5afb176eb4cd16cb068b24d8e5c77c","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/2/customers"}},"outcome":"success","parent_id":"9850099ec17d6583","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9850099ec17d6583"}} +{"transaction":{"duration":4.140083,"id":"9850099ec17d6583","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055421980161,"trace_id":"bd5afb176eb4cd16cb068b24d8e5c77c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"Traceparent":"00-bd5afb176eb4cd16cb068b24d8e5c77c-111d7262ba8fd2bb-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-bd5afb176eb4cd16cb068b24d8e5c77c-111d7262ba8fd2bb-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"status_code":502},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","parent_id":"111d7262ba8fd2bb","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":1.334708,"id":"3cac7d8b005d9f72","name":"SELECT FROM orders","timestamp":1646055422836437,"trace_id":"c5e38af6aef0bdb62a93096d55ded513","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c5e38af6aef0bdb6","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c5e38af6aef0bdb6"}} +{"transaction":{"duration":27.423541999999998,"id":"c5e38af6aef0bdb6","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055422836411,"trace_id":"c5e38af6aef0bdb62a93096d55ded513","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.922958,"id":"221583a900f0e3ca","name":"SELECT FROM orders","timestamp":1646055432992697,"trace_id":"ed70e9f1ab4b68ce0a6954484372f463","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ed70e9f1ab4b68ce","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ed70e9f1ab4b68ce"}} +{"transaction":{"duration":14.846875,"id":"ed70e9f1ab4b68ce","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055432992648,"trace_id":"ed70e9f1ab4b68ce0a6954484372f463","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.296084,"id":"d1ddd3d1a21a700b","name":"SELECT FROM orders","timestamp":1646055443148442,"trace_id":"5c60ecb39d4a689c8e2b8740178f6807","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5c60ecb39d4a689c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5c60ecb39d4a689c"}} +{"transaction":{"duration":4.586584,"id":"5c60ecb39d4a689c","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055443148375,"trace_id":"5c60ecb39d4a689c8e2b8740178f6807","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":7.547125,"id":"902ac14d52cc0eab","name":"SELECT FROM products","timestamp":1646055452991210,"trace_id":"3fcfaa5c98d6208f2362d3284089c8f0","type":"db","action":"query","context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7e052774b93c625b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"conn.go","lineno":119,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).finishSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"conn.go","lineno":139,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).QueryContext","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"ctxutil.go","lineno":48,"abs_path":"/usr/local/go/src/database/sql/ctxutil.go","function":"ctxDriverQuery","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1722,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC.func1","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":3396,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"withLock","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1717,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1700,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).query","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1674,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).QueryContext","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1778,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).QueryRowContext","library_frame":true,"module":"database/sql"},{"filename":"stats.go","lineno":32,"abs_path":"/src/opbeans-go/stats.go","function":"getStats","module":"main"},{"filename":"api.go","lineno":66,"abs_path":"/src/opbeans-go/api.go","function":"apiHandlers.getStats","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":200,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"postgresql","transaction_id":"7e052774b93c625b"}} +{"span":{"duration":1.654542,"id":"84b88b28a57df16b","name":"SELECT FROM customers","timestamp":1646055452999791,"trace_id":"3fcfaa5c98d6208f2362d3284089c8f0","type":"db","action":"query","context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7e052774b93c625b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7e052774b93c625b"}} +{"span":{"duration":1.511625,"id":"f8156f876a05b78f","name":"SELECT FROM orders","timestamp":1646055453001995,"trace_id":"3fcfaa5c98d6208f2362d3284089c8f0","type":"db","action":"query","context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7e052774b93c625b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7e052774b93c625b"}} +{"span":{"duration":2.094542,"id":"118eafc13173f1f0","name":"SELECT FROM products","timestamp":1646055453003546,"trace_id":"3fcfaa5c98d6208f2362d3284089c8f0","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n SUM(selling_price), SUM(cost), SUM(selling_price-cost)\nFROM products JOIN order_lines ON products.id=order_lines.product_id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7e052774b93c625b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7e052774b93c625b"}} +{"transaction":{"duration":21.154042,"id":"7e052774b93c625b","name":"GET /api/stats","span_count":{"dropped":0,"started":4},"timestamp":1646055452987422,"trace_id":"3fcfaa5c98d6208f2362d3284089c8f0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Elastic-Apm-Traceparent":"00-3fcfaa5c98d6208f2362d3284089c8f0-17cf98ca8a8debf2-01","Connection":"close","Traceparent":"00-3fcfaa5c98d6208f2362d3284089c8f0-17cf98ca8a8debf2-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"false"}},"outcome":"success","parent_id":"17cf98ca8a8debf2","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.658625,"id":"6890da54f8f1c713","name":"DNS opbeans-python","timestamp":1646055453297856,"trace_id":"939cf5cf0f02477face9fe243f8e1250","type":"external","action":"dns","outcome":"success","parent_id":"d026dc7ec2576951","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"939cf5cf0f02477f"}} +{"span":{"duration":0.33158299999999996,"id":"665c0a6480d252e8","name":"Connect 172.23.0.11:3000","timestamp":1646055453298521,"trace_id":"939cf5cf0f02477face9fe243f8e1250","type":"external","action":"connect","outcome":"success","parent_id":"d026dc7ec2576951","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"939cf5cf0f02477f"}} +{"span":{"duration":5423.497128,"id":"399dfa16353e5017","name":"Request","timestamp":1646055453298865,"trace_id":"939cf5cf0f02477face9fe243f8e1250","type":"external","action":"request","outcome":"success","parent_id":"d026dc7ec2576951","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"939cf5cf0f02477f"}} +{"span":{"duration":0.62075,"id":"1c4085084c394e92","name":"Response","timestamp":1646055458722604,"trace_id":"939cf5cf0f02477face9fe243f8e1250","type":"external","action":"response","outcome":"success","parent_id":"d026dc7ec2576951","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"939cf5cf0f02477f"}} +{"span":{"duration":5425.526461,"id":"d026dc7ec2576951","name":"GET opbeans-python:3000","timestamp":1646055453297700,"trace_id":"939cf5cf0f02477face9fe243f8e1250","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"939cf5cf0f02477f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"939cf5cf0f02477f"}} +{"transaction":{"duration":5426.059503,"id":"939cf5cf0f02477f","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055453297483,"trace_id":"939cf5cf0f02477face9fe243f8e1250","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Vary":"Cookie","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:37:38 GMT","Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"108580","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.0115,"id":"3bad2ceddd53c746","name":"SELECT FROM orders","timestamp":1646055466288825,"trace_id":"379b8f8b2c1ebcec0025bd8da44d7aba","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"379b8f8b2c1ebcec","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"379b8f8b2c1ebcec"}} +{"transaction":{"duration":5.897459,"id":"379b8f8b2c1ebcec","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055466288751,"trace_id":"379b8f8b2c1ebcec0025bd8da44d7aba","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.199291,"id":"da3677392e4f9699","name":"SELECT FROM products","timestamp":1646055470515500,"trace_id":"418823839120a4f38d3c233687223640","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3887ae4c8a6ecc2d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3887ae4c8a6ecc2d"}} +{"transaction":{"duration":5.485167,"id":"3887ae4c8a6ecc2d","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055470515334,"trace_id":"418823839120a4f38d3c233687223640","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Traceparent":"00-418823839120a4f38d3c233687223640-4f966299636a6858-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-418823839120a4f38d3c233687223640-4f966299636a6858-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"4f966299636a6858","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.2537500000000001,"id":"b15f8e61dfe0356b","name":"DNS opbeans-ruby","timestamp":1646055470917619,"trace_id":"9de92b203e3f8f3a5c7e08afc337a170","type":"external","action":"dns","outcome":"success","parent_id":"ab3006fa0db6151a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"06780dc259fef4d6"}} +{"span":{"duration":0.188833,"id":"9696dabb60fd8ea6","name":"Connect 172.23.0.12:3000","timestamp":1646055470918881,"trace_id":"9de92b203e3f8f3a5c7e08afc337a170","type":"external","action":"connect","outcome":"failure","parent_id":"ab3006fa0db6151a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"06780dc259fef4d6"}} +{"span":{"duration":1.648041,"id":"ab3006fa0db6151a","name":"GET opbeans-ruby:3000","timestamp":1646055470917429,"trace_id":"9de92b203e3f8f3a5c7e08afc337a170","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats"}},"outcome":"success","parent_id":"06780dc259fef4d6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"06780dc259fef4d6"}} +{"transaction":{"duration":3.083917,"id":"06780dc259fef4d6","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055470916914,"trace_id":"9de92b203e3f8f3a5c7e08afc337a170","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Traceparent":"00-9de92b203e3f8f3a5c7e08afc337a170-943b921648682a97-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-9de92b203e3f8f3a5c7e08afc337a170-943b921648682a97-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"status_code":502},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","parent_id":"943b921648682a97","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":10.792042,"id":"c9c762445a46ad04","name":"SELECT FROM customers","timestamp":1646055473391454,"trace_id":"19711787ae19a2b2df4477d135d1f4fc","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7c15464465aa594c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"conn.go","lineno":119,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).finishSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"conn.go","lineno":139,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).QueryContext","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"ctxutil.go","lineno":48,"abs_path":"/usr/local/go/src/database/sql/ctxutil.go","function":"ctxDriverQuery","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1722,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC.func1","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":3396,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"withLock","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1717,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1700,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).query","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1674,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).QueryContext","library_frame":true,"module":"database/sql"},{"filename":"customers.go","lineno":60,"abs_path":"/src/opbeans-go/customers.go","function":"queryCustomers","module":"main"},{"filename":"customers.go","lineno":26,"abs_path":"/src/opbeans-go/customers.go","function":"getProductCustomers","module":"main"},{"filename":"api.go","lineno":145,"abs_path":"/src/opbeans-go/api.go","function":"apiHandlers.getProductCustomers","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":200,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"postgresql","transaction_id":"7c15464465aa594c"}} +{"transaction":{"duration":51.998375,"id":"7c15464465aa594c","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055473391099,"trace_id":"19711787ae19a2b2df4477d135d1f4fc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"count=orders\u0026limit=50","full":"http://opbeans-go:3000/api/products/5/customers?count=orders\u0026limit=50"},"headers":{"Connection":"close","Traceparent":"00-19711787ae19a2b2df4477d135d1f4fc-f557c2f53508beef-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-19711787ae19a2b2df4477d135d1f4fc-f557c2f53508beef-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f557c2f53508beef","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.924709,"id":"cf272a37452ddb02","name":"DNS opbeans-ruby","timestamp":1646055474358621,"trace_id":"bc32c2ac722b33079a450896a288f2fd","type":"external","action":"dns","outcome":"success","parent_id":"2fac2618dbb46c4e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"05b88a55a43ccec9"}} +{"span":{"duration":0.17308300000000001,"id":"cb6c62d459c07376","name":"Connect 172.23.0.12:3000","timestamp":1646055474359557,"trace_id":"bc32c2ac722b33079a450896a288f2fd","type":"external","action":"connect","outcome":"failure","parent_id":"2fac2618dbb46c4e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"05b88a55a43ccec9"}} +{"span":{"duration":1.747959,"id":"2fac2618dbb46c4e","name":"GET opbeans-ruby:3000","timestamp":1646055474358414,"trace_id":"bc32c2ac722b33079a450896a288f2fd","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders"}},"outcome":"success","parent_id":"05b88a55a43ccec9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"05b88a55a43ccec9"}} +{"transaction":{"duration":3.378875,"id":"05b88a55a43ccec9","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055474357133,"trace_id":"bc32c2ac722b33079a450896a288f2fd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Elastic-Apm-Traceparent":"00-bc32c2ac722b33079a450896a288f2fd-1714e0c6738dc9e9-01","Connection":"close","Traceparent":"00-bc32c2ac722b33079a450896a288f2fd-1714e0c6738dc9e9-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"status_code":502},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","parent_id":"1714e0c6738dc9e9","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":3.176333,"id":"9e8921848cd48e26","name":"SELECT FROM orders","timestamp":1646055476456151,"trace_id":"132d3a3870e3c632bb4881e1514b8cb4","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"132d3a3870e3c632","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"132d3a3870e3c632"}} +{"transaction":{"duration":7.403583,"id":"132d3a3870e3c632","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055476456130,"trace_id":"132d3a3870e3c632bb4881e1514b8cb4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.527875,"id":"d16027c1077d4aa5","name":"DNS opbeans-python","timestamp":1646055486555300,"trace_id":"bea1f2882a5197be0f29c994d16c13af","type":"external","action":"dns","outcome":"success","parent_id":"ce3c003903ed4693","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bea1f2882a5197be"}} +{"span":{"duration":2.818709,"id":"763082eebf12e3df","name":"Connect 172.23.0.11:3000","timestamp":1646055486555834,"trace_id":"bea1f2882a5197be0f29c994d16c13af","type":"external","action":"connect","outcome":"success","parent_id":"ce3c003903ed4693","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bea1f2882a5197be"}} +{"span":{"duration":1.6844169999999998,"id":"eb7ad7347635aaea","name":"SELECT FROM customers","timestamp":1646055487920298,"trace_id":"9267bb759a7fa7843da4960fba465492","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"cf789417cb0ebe00","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"cf789417cb0ebe00"}} +{"transaction":{"duration":10.236084,"id":"cf789417cb0ebe00","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055487920236,"trace_id":"9267bb759a7fa7843da4960fba465492","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Traceparent":"00-9267bb759a7fa7843da4960fba465492-e85113d3f23ec9e7-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-9267bb759a7fa7843da4960fba465492-e85113d3f23ec9e7-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e85113d3f23ec9e7","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.719084,"id":"b054d2f0d95b5a5b","name":"DNS opbeans-node","timestamp":1646055489465984,"trace_id":"83c206e4b8d001ef743dd8a27828487d","type":"external","action":"dns","outcome":"success","parent_id":"ffeb3fd143dc5566","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ac9dd33763709d2f"}} +{"span":{"duration":0.256125,"id":"7f980b04321134a7","name":"Connect 172.23.0.10:3000","timestamp":1646055489469729,"trace_id":"83c206e4b8d001ef743dd8a27828487d","type":"external","action":"connect","outcome":"success","parent_id":"ffeb3fd143dc5566","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ac9dd33763709d2f"}} +{"span":{"duration":258.56370899999996,"id":"fa2d0808eeb999b0","name":"Request","timestamp":1646055489470019,"trace_id":"83c206e4b8d001ef743dd8a27828487d","type":"external","action":"request","outcome":"success","parent_id":"ffeb3fd143dc5566","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ac9dd33763709d2f"}} +{"span":{"duration":41.249292,"id":"360743c8aeaeedf4","name":"Response","timestamp":1646055489728689,"trace_id":"83c206e4b8d001ef743dd8a27828487d","type":"external","action":"response","outcome":"success","parent_id":"ffeb3fd143dc5566","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ac9dd33763709d2f"}} +{"span":{"duration":304.209916,"id":"ffeb3fd143dc5566","name":"GET opbeans-node:3000","timestamp":1646055489465848,"trace_id":"83c206e4b8d001ef743dd8a27828487d","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"ac9dd33763709d2f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ac9dd33763709d2f"}} +{"transaction":{"duration":304.955,"id":"ac9dd33763709d2f","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055489465330,"trace_id":"83c206e4b8d001ef743dd8a27828487d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Traceparent":"00-83c206e4b8d001ef743dd8a27828487d-4710c7b76c097bce-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-83c206e4b8d001ef743dd8a27828487d-4710c7b76c097bce-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"186769","Etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","Date":"Mon, 28 Feb 2022 13:38:09 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"4710c7b76c097bce","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":6690.165545,"id":"de26b49c8acd604e","name":"Request","timestamp":1646055486558722,"trace_id":"bea1f2882a5197be0f29c994d16c13af","type":"external","action":"request","outcome":"success","parent_id":"ce3c003903ed4693","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bea1f2882a5197be"}} +{"span":{"duration":1.093917,"id":"0a055b2e734b954b","name":"Response","timestamp":1646055493249931,"trace_id":"bea1f2882a5197be0f29c994d16c13af","type":"external","action":"response","outcome":"success","parent_id":"ce3c003903ed4693","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bea1f2882a5197be"}} +{"span":{"duration":6695.900003000001,"id":"ce3c003903ed4693","name":"GET opbeans-python:3000","timestamp":1646055486555127,"trace_id":"bea1f2882a5197be0f29c994d16c13af","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"bea1f2882a5197be","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bea1f2882a5197be"}} +{"transaction":{"duration":6696.651962,"id":"bea1f2882a5197be","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055486554889,"trace_id":"bea1f2882a5197be0f29c994d16c13af","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"X-Frame-Options":"DENY","Referrer-Policy":"same-origin","Server":"gunicorn","Content-Type":"application/json","X-Content-Type-Options":"nosniff","Content-Length":"108580","Vary":"Cookie","Date":"Mon, 28 Feb 2022 13:38:13 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.2355,"id":"05d83cca060c4254","name":"SELECT FROM orders","timestamp":1646055499606588,"trace_id":"444061ab1ee73a556d2b717613327610","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"444061ab1ee73a55","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"444061ab1ee73a55"}} +{"transaction":{"duration":3.89425,"id":"444061ab1ee73a55","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055499606502,"trace_id":"444061ab1ee73a556d2b717613327610","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.133375,"id":"788d4fd061e664db","name":"SELECT FROM orders","timestamp":1646055509706438,"trace_id":"644dd6c4b41a09b6ed1617348bccb715","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"644dd6c4b41a09b6","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"644dd6c4b41a09b6"}} +{"transaction":{"duration":9.560708,"id":"644dd6c4b41a09b6","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055509706353,"trace_id":"644dd6c4b41a09b6ed1617348bccb715","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"Accept-Encoding":"gzip","User-Agent":"Go-http-client/1.1"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.37512500000000004,"id":"03eb389cac4a9080","name":"DNS opbeans-python","timestamp":1646055512955077,"trace_id":"ff835dd40e830476499e465971e9f3b4","type":"external","action":"dns","outcome":"success","parent_id":"d7766e2b563ea25b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1a1bcd804f42c688"}} +{"span":{"duration":0.299417,"id":"dc2384755934307e","name":"Connect 172.23.0.11:3000","timestamp":1646055512955457,"trace_id":"ff835dd40e830476499e465971e9f3b4","type":"external","action":"connect","outcome":"success","parent_id":"d7766e2b563ea25b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1a1bcd804f42c688"}} +{"span":{"duration":23.038542,"id":"28e6e345a0ee25ea","name":"Request","timestamp":1646055512955779,"trace_id":"ff835dd40e830476499e465971e9f3b4","type":"external","action":"request","outcome":"success","parent_id":"d7766e2b563ea25b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1a1bcd804f42c688"}} +{"span":{"duration":0.7983750000000001,"id":"8f68eb19f4ba35a4","name":"Response","timestamp":1646055512978958,"trace_id":"ff835dd40e830476499e465971e9f3b4","type":"external","action":"response","outcome":"success","parent_id":"d7766e2b563ea25b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1a1bcd804f42c688"}} +{"span":{"duration":24.843500000000002,"id":"d7766e2b563ea25b","name":"GET opbeans-python:3000","timestamp":1646055512954921,"trace_id":"ff835dd40e830476499e465971e9f3b4","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/182","status_code":200}},"outcome":"success","parent_id":"1a1bcd804f42c688","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1a1bcd804f42c688"}} +{"transaction":{"duration":25.20525,"id":"1a1bcd804f42c688","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055512954821,"trace_id":"ff835dd40e830476499e465971e9f3b4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/182","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/182"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-ff835dd40e830476499e465971e9f3b4-5ba00c6e3486de52-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-ff835dd40e830476499e465971e9f3b4-5ba00c6e3486de52-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Length":"312","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:38:32 GMT","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Content-Type":"application/json","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"5ba00c6e3486de52","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.7877500000000001,"id":"5f10e04cee5bfa93","name":"SELECT FROM orders","timestamp":1646055513560308,"trace_id":"6b564202b2c9a5ea5716ddb799368e24","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6b564202b2c9a5ea","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6b564202b2c9a5ea"}} +{"transaction":{"duration":16.570833999999998,"id":"6b564202b2c9a5ea","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055513560277,"trace_id":"6b564202b2c9a5ea5716ddb799368e24","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.464625,"id":"2c4651a475f5b5c2","name":"SELECT FROM products","timestamp":1646055513603400,"trace_id":"3d4a06668a5984c0b04c28bb1f96261c","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3d4a06668a5984c0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3d4a06668a5984c0"}} +{"transaction":{"duration":2.721,"id":"3d4a06668a5984c0","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055513603356,"trace_id":"3d4a06668a5984c0b04c28bb1f96261c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.0185000000000002,"id":"8d46676ee616616f","name":"DNS opbeans-python","timestamp":1646055513626279,"trace_id":"2e569f2e743f7414e8a2bd477b413bcb","type":"external","action":"dns","outcome":"success","parent_id":"3369507dd19c69c1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2e569f2e743f7414"}} +{"span":{"duration":0.749833,"id":"184b49e6543c01c9","name":"Connect 172.23.0.11:3000","timestamp":1646055513627304,"trace_id":"2e569f2e743f7414e8a2bd477b413bcb","type":"external","action":"connect","outcome":"success","parent_id":"3369507dd19c69c1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2e569f2e743f7414"}} +{"span":{"duration":25.310167,"id":"81da865db94e7eaa","name":"Request","timestamp":1646055513628075,"trace_id":"2e569f2e743f7414e8a2bd477b413bcb","type":"external","action":"request","outcome":"success","parent_id":"3369507dd19c69c1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2e569f2e743f7414"}} +{"span":{"duration":0.399458,"id":"57ea8b84366b82fd","name":"Response","timestamp":1646055513653417,"trace_id":"2e569f2e743f7414e8a2bd477b413bcb","type":"external","action":"response","outcome":"success","parent_id":"3369507dd19c69c1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2e569f2e743f7414"}} +{"span":{"duration":27.652708,"id":"3369507dd19c69c1","name":"GET opbeans-python:3000","timestamp":1646055513626165,"trace_id":"2e569f2e743f7414e8a2bd477b413bcb","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/819","status_code":200}},"outcome":"success","parent_id":"2e569f2e743f7414","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2e569f2e743f7414"}} +{"transaction":{"duration":27.884583,"id":"2e569f2e743f7414","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055513626032,"trace_id":"2e569f2e743f7414e8a2bd477b413bcb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/819","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/819"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"same-origin","Content-Length":"322","Content-Type":"application/json","X-Frame-Options":"DENY","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:38:33 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.662041,"id":"23f6fd52182a2d47","name":"SELECT FROM customers","timestamp":1646055513678109,"trace_id":"7e3084796023d1419b500973a3de8910","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7e3084796023d141","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7e3084796023d141"}} +{"transaction":{"duration":0.778666,"id":"7e3084796023d141","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055513678071,"trace_id":"7e3084796023d1419b500973a3de8910","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/7080","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/7080"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.54875,"id":"b49c8b0dae885bee","name":"DNS opbeans-python","timestamp":1646055513699429,"trace_id":"11374722481eb2c95335ebb8f75715b7","type":"external","action":"dns","outcome":"success","parent_id":"d4ae650e2bdab706","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"11374722481eb2c9"}} +{"span":{"duration":0.152917,"id":"90bec6d0bf362969","name":"Connect 172.23.0.11:3000","timestamp":1646055513699983,"trace_id":"11374722481eb2c95335ebb8f75715b7","type":"external","action":"connect","outcome":"success","parent_id":"d4ae650e2bdab706","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"11374722481eb2c9"}} +{"span":{"duration":134.56375,"id":"f103c31c634a5c0b","name":"Request","timestamp":1646055513700152,"trace_id":"11374722481eb2c95335ebb8f75715b7","type":"external","action":"request","outcome":"success","parent_id":"d4ae650e2bdab706","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"11374722481eb2c9"}} +{"span":{"duration":0.203292,"id":"bd497bead407ec2a","name":"Response","timestamp":1646055513834793,"trace_id":"11374722481eb2c95335ebb8f75715b7","type":"external","action":"response","outcome":"success","parent_id":"d4ae650e2bdab706","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"11374722481eb2c9"}} +{"span":{"duration":135.626959,"id":"d4ae650e2bdab706","name":"GET opbeans-python:3000","timestamp":1646055513699373,"trace_id":"11374722481eb2c95335ebb8f75715b7","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"11374722481eb2c9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"11374722481eb2c9"}} +{"transaction":{"duration":135.83141700000002,"id":"11374722481eb2c9","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055513699294,"trace_id":"11374722481eb2c95335ebb8f75715b7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:38:33 GMT","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Content-Length":"112","Server":"gunicorn","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.0581660000000004,"id":"b48372eceeb3d396","name":"SELECT FROM products","timestamp":1646055513855322,"trace_id":"d6c8d636ba72698226e92e98b1ac570f","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d6c8d636ba726982","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d6c8d636ba726982"}} +{"transaction":{"duration":3.346458,"id":"d6c8d636ba726982","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055513855291,"trace_id":"d6c8d636ba72698226e92e98b1ac570f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.261666,"id":"56cda7773164f697","name":"SELECT FROM customers","timestamp":1646055513882853,"trace_id":"ab83d67fa6007e4e27fc7f444f2ff36b","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ab83d67fa6007e4e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ab83d67fa6007e4e"}} +{"transaction":{"duration":7.1846250000000005,"id":"ab83d67fa6007e4e","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055513882811,"trace_id":"ab83d67fa6007e4e27fc7f444f2ff36b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.26416599999999996,"id":"36dea861fd7cd2c0","name":"SELECT FROM products","timestamp":1646055513912118,"trace_id":"040ac091b6204277dca515710a25e9ab","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"040ac091b6204277","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"040ac091b6204277"}} +{"transaction":{"duration":0.509583,"id":"040ac091b6204277","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055513912099,"trace_id":"040ac091b6204277dca515710a25e9ab","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6084579999999999,"id":"9ad48e14fed9260c","name":"SELECT FROM product_types","timestamp":1646055513932148,"trace_id":"fb03b206c7c12821095cb21197850c8e","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"fb03b206c7c12821","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"fb03b206c7c12821"}} +{"transaction":{"duration":0.801125,"id":"fb03b206c7c12821","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055513932127,"trace_id":"fb03b206c7c12821095cb21197850c8e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.29091700000000004,"id":"cfa54782135c29b8","name":"SELECT FROM products","timestamp":1646055513971616,"trace_id":"ea8df8deb904ed1731fcb31cab667005","type":"db","action":"query","context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ea8df8deb904ed17","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ea8df8deb904ed17"}} +{"span":{"duration":0.154916,"id":"562252fa525a2c7e","name":"SELECT FROM customers","timestamp":1646055513971926,"trace_id":"ea8df8deb904ed1731fcb31cab667005","type":"db","action":"query","context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ea8df8deb904ed17","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ea8df8deb904ed17"}} +{"span":{"duration":0.357416,"id":"f02645ca565fe96a","name":"SELECT FROM orders","timestamp":1646055513972088,"trace_id":"ea8df8deb904ed1731fcb31cab667005","type":"db","action":"query","context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ea8df8deb904ed17","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ea8df8deb904ed17"}} +{"span":{"duration":0.896125,"id":"c5bbdf1b2736e149","name":"SELECT FROM products","timestamp":1646055513972457,"trace_id":"ea8df8deb904ed1731fcb31cab667005","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n SUM(selling_price), SUM(cost), SUM(selling_price-cost)\nFROM products JOIN order_lines ON products.id=order_lines.product_id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ea8df8deb904ed17","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ea8df8deb904ed17"}} +{"transaction":{"duration":2.403792,"id":"ea8df8deb904ed17","name":"GET /api/stats","span_count":{"dropped":0,"started":4},"timestamp":1646055513971339,"trace_id":"ea8df8deb904ed1731fcb31cab667005","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"false"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.1912500000000001,"id":"62eff26a151e4f13","name":"SELECT FROM products","timestamp":1646055513993776,"trace_id":"c2b15850335e79684475a369b35e00e5","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c2b15850335e7968","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c2b15850335e7968"}} +{"transaction":{"duration":1.295833,"id":"c2b15850335e7968","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055513993760,"trace_id":"c2b15850335e79684475a369b35e00e5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.380458,"id":"eb9c35b172a94369","name":"DNS opbeans-ruby","timestamp":1646055514013800,"trace_id":"e448e377d72c55cd3347abb31b35d17a","type":"external","action":"dns","outcome":"success","parent_id":"f84ab23409663ae3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e448e377d72c55cd"}} +{"span":{"duration":0.12141700000000001,"id":"7dc5c12fc222f9ca","name":"Connect 172.23.0.12:3000","timestamp":1646055514014186,"trace_id":"e448e377d72c55cd3347abb31b35d17a","type":"external","action":"connect","outcome":"success","parent_id":"f84ab23409663ae3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e448e377d72c55cd"}} +{"span":{"duration":0.452208,"id":"601b22cda6bbfcbc","name":"SELECT FROM products","timestamp":1646055514055947,"trace_id":"e448e377d72c55cd3347abb31b35d17a","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"715eb2ee8c9bd4cc","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"715eb2ee8c9bd4cc"}} +{"transaction":{"duration":0.6033329999999999,"id":"715eb2ee8c9bd4cc","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055514055917,"trace_id":"e448e377d72c55cd3347abb31b35d17a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5"},"headers":{"Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-e448e377d72c55cd3347abb31b35d17a-06f06f82caca0cb6-01","Elastic-Apm-Traceparent":"00-e448e377d72c55cd3347abb31b35d17a-06f06f82caca0cb6-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"06f06f82caca0cb6","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":75.871458,"id":"35cd9ebc72f852c5","name":"Request","timestamp":1646055514014330,"trace_id":"e448e377d72c55cd3347abb31b35d17a","type":"external","action":"request","outcome":"success","parent_id":"f84ab23409663ae3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e448e377d72c55cd"}} +{"span":{"duration":0.134917,"id":"d21f674314909bdb","name":"Response","timestamp":1646055514090225,"trace_id":"e448e377d72c55cd3347abb31b35d17a","type":"external","action":"response","outcome":"success","parent_id":"f84ab23409663ae3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e448e377d72c55cd"}} +{"span":{"duration":76.6385,"id":"f84ab23409663ae3","name":"GET opbeans-ruby:3000","timestamp":1646055514013722,"trace_id":"e448e377d72c55cd3347abb31b35d17a","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/5","status_code":200}},"outcome":"success","parent_id":"e448e377d72c55cd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e448e377d72c55cd"}} +{"transaction":{"duration":77.168458,"id":"e448e377d72c55cd","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055514013482,"trace_id":"e448e377d72c55cd3347abb31b35d17a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.43124999999999997,"id":"5cb39a29e5b3a5c0","name":"DNS opbeans-go","timestamp":1646055514110060,"trace_id":"aa310126e42d803081f613b8fcb0224b","type":"external","action":"dns","outcome":"success","parent_id":"d2b477ab8ad2aa82","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aa310126e42d8030"}} +{"span":{"duration":0.245459,"id":"d4ff55b4038b9e0b","name":"Connect 172.23.0.9:3000","timestamp":1646055514110499,"trace_id":"aa310126e42d803081f613b8fcb0224b","type":"external","action":"connect","outcome":"success","parent_id":"d2b477ab8ad2aa82","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aa310126e42d8030"}} +{"span":{"duration":0.480917,"id":"eb6afa7250530827","name":"DNS opbeans-node","timestamp":1646055514111187,"trace_id":"aa310126e42d803081f613b8fcb0224b","type":"external","action":"dns","outcome":"success","parent_id":"a2dbdd121a35a527","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"457d145fdf3db829"}} +{"span":{"duration":0.090125,"id":"77bbdb1746895305","name":"Connect 172.23.0.10:3000","timestamp":1646055514111672,"trace_id":"aa310126e42d803081f613b8fcb0224b","type":"external","action":"connect","outcome":"success","parent_id":"a2dbdd121a35a527","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"457d145fdf3db829"}} +{"span":{"duration":33.998374999999996,"id":"66c360d1f0ca70d3","name":"Request","timestamp":1646055514111770,"trace_id":"aa310126e42d803081f613b8fcb0224b","type":"external","action":"request","outcome":"success","parent_id":"a2dbdd121a35a527","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"457d145fdf3db829"}} +{"span":{"duration":0.107417,"id":"2d63cc0ef4ab3ba6","name":"Response","timestamp":1646055514145795,"trace_id":"aa310126e42d803081f613b8fcb0224b","type":"external","action":"response","outcome":"success","parent_id":"a2dbdd121a35a527","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"457d145fdf3db829"}} +{"span":{"duration":34.759625,"id":"a2dbdd121a35a527","name":"GET opbeans-node:3000","timestamp":1646055514111144,"trace_id":"aa310126e42d803081f613b8fcb0224b","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"457d145fdf3db829","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"457d145fdf3db829"}} +{"transaction":{"duration":34.966708,"id":"457d145fdf3db829","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055514111060,"trace_id":"aa310126e42d803081f613b8fcb0224b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-aa310126e42d803081f613b8fcb0224b-d2b477ab8ad2aa82-01","Traceparent":"00-aa310126e42d803081f613b8fcb0224b-d2b477ab8ad2aa82-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:38:34 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"242","Etag":"W/\"f2-TrZrMcMTUtdW6GY8TQq8W/JG3iU\""},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d2b477ab8ad2aa82","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":35.382833000000005,"id":"78e0cdcd9a410c16","name":"Request","timestamp":1646055514110768,"trace_id":"aa310126e42d803081f613b8fcb0224b","type":"external","action":"request","outcome":"success","parent_id":"d2b477ab8ad2aa82","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aa310126e42d8030"}} +{"span":{"duration":0.036667,"id":"97b802d0434318b2","name":"Response","timestamp":1646055514146155,"trace_id":"aa310126e42d803081f613b8fcb0224b","type":"external","action":"response","outcome":"success","parent_id":"d2b477ab8ad2aa82","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aa310126e42d8030"}} +{"span":{"duration":36.204042,"id":"d2b477ab8ad2aa82","name":"GET opbeans-go:3000","timestamp":1646055514109988,"trace_id":"aa310126e42d803081f613b8fcb0224b","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"aa310126e42d8030","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aa310126e42d8030"}} +{"transaction":{"duration":36.372458,"id":"aa310126e42d8030","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055514109877,"trace_id":"aa310126e42d803081f613b8fcb0224b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:38:34 GMT","Etag":"W/\"f2-TrZrMcMTUtdW6GY8TQq8W/JG3iU\"","X-Powered-By":"Express","Content-Length":"242","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.308875,"id":"e24c5b191658b846","name":"SELECT FROM products","timestamp":1646055514165602,"trace_id":"3a2f04be139fa27627758ceeee9bfed0","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3a2f04be139fa276","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3a2f04be139fa276"}} +{"transaction":{"duration":1.439167,"id":"3a2f04be139fa276","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055514165585,"trace_id":"3a2f04be139fa27627758ceeee9bfed0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.26375,"id":"edfc0f90aa00bed8","name":"SELECT FROM product_types","timestamp":1646055514184528,"trace_id":"f0351314cadec8edbb743fa0d92b84ae","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f0351314cadec8ed","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f0351314cadec8ed"}} +{"transaction":{"duration":0.405667,"id":"f0351314cadec8ed","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055514184513,"trace_id":"f0351314cadec8edbb743fa0d92b84ae","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.257167,"id":"9c0bcc47196207c1","name":"DNS opbeans-python","timestamp":1646055514202146,"trace_id":"e4c6889bc49ef605f3c8850e87db3eda","type":"external","action":"dns","outcome":"success","parent_id":"f2ebef77e4fea8e9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e4c6889bc49ef605"}} +{"span":{"duration":0.295541,"id":"64b7e201ed77daad","name":"Connect 172.23.0.11:3000","timestamp":1646055514202408,"trace_id":"e4c6889bc49ef605f3c8850e87db3eda","type":"external","action":"connect","outcome":"success","parent_id":"f2ebef77e4fea8e9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e4c6889bc49ef605"}} +{"span":{"duration":85.20325,"id":"56d04b1dffdc4ab1","name":"Request","timestamp":1646055514202728,"trace_id":"e4c6889bc49ef605f3c8850e87db3eda","type":"external","action":"request","outcome":"success","parent_id":"f2ebef77e4fea8e9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e4c6889bc49ef605"}} +{"span":{"duration":0.182166,"id":"782b67c9d318bd2b","name":"Response","timestamp":1646055514287963,"trace_id":"e4c6889bc49ef605f3c8850e87db3eda","type":"external","action":"response","outcome":"success","parent_id":"f2ebef77e4fea8e9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e4c6889bc49ef605"}} +{"span":{"duration":86.071625,"id":"f2ebef77e4fea8e9","name":"GET opbeans-python:3000","timestamp":1646055514202075,"trace_id":"e4c6889bc49ef605f3c8850e87db3eda","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"e4c6889bc49ef605","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e4c6889bc49ef605"}} +{"transaction":{"duration":86.555917,"id":"e4c6889bc49ef605","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055514201965,"trace_id":"e4c6889bc49ef605f3c8850e87db3eda","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:38:34 GMT","X-Frame-Options":"DENY","Vary":"Cookie","Content-Type":"application/json; charset=utf-8","Content-Length":"112","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.7779170000000001,"id":"5ef1fc756fa29168","name":"DNS opbeans-python","timestamp":1646055514312265,"trace_id":"f669e52a7687db906d66b548684d379f","type":"external","action":"dns","outcome":"success","parent_id":"8bf80412c72ae610","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"28c8829967d225c7"}} +{"span":{"duration":0.13679100000000002,"id":"b8a9970640af28b3","name":"Connect 172.23.0.11:3000","timestamp":1646055514313068,"trace_id":"f669e52a7687db906d66b548684d379f","type":"external","action":"connect","outcome":"success","parent_id":"8bf80412c72ae610","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"28c8829967d225c7"}} +{"span":{"duration":81.458083,"id":"f97672011da17a04","name":"Request","timestamp":1646055514313224,"trace_id":"f669e52a7687db906d66b548684d379f","type":"external","action":"request","outcome":"success","parent_id":"8bf80412c72ae610","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"28c8829967d225c7"}} +{"span":{"duration":0.125833,"id":"171957786c9ee142","name":"Response","timestamp":1646055514394706,"trace_id":"f669e52a7687db906d66b548684d379f","type":"external","action":"response","outcome":"success","parent_id":"8bf80412c72ae610","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"28c8829967d225c7"}} +{"span":{"duration":82.603917,"id":"8bf80412c72ae610","name":"GET opbeans-python:3000","timestamp":1646055514312229,"trace_id":"f669e52a7687db906d66b548684d379f","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"28c8829967d225c7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"28c8829967d225c7"}} +{"transaction":{"duration":82.949667,"id":"28c8829967d225c7","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055514312067,"trace_id":"f669e52a7687db906d66b548684d379f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-f669e52a7687db906d66b548684d379f-0e0a0b6f28f40fbc-01","Traceparent":"00-f669e52a7687db906d66b548684d379f-0e0a0b6f28f40fbc-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Referrer-Policy":"same-origin","Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"309","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:38:34 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"0e0a0b6f28f40fbc","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":83.267083,"id":"3e68ebc8885f68f7","name":"Request","timestamp":1646055514311838,"trace_id":"f669e52a7687db906d66b548684d379f","type":"external","action":"request","outcome":"success","parent_id":"0e0a0b6f28f40fbc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f669e52a7687db90"}} +{"span":{"duration":0.03125,"id":"0bd2f2ad94f49021","name":"Response","timestamp":1646055514395110,"trace_id":"f669e52a7687db906d66b548684d379f","type":"external","action":"response","outcome":"success","parent_id":"0e0a0b6f28f40fbc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f669e52a7687db90"}} +{"span":{"duration":83.356708,"id":"0e0a0b6f28f40fbc","name":"GET opbeans-go:3000","timestamp":1646055514311785,"trace_id":"f669e52a7687db906d66b548684d379f","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"f669e52a7687db90","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f669e52a7687db90"}} +{"transaction":{"duration":83.549916,"id":"f669e52a7687db90","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055514311658,"trace_id":"f669e52a7687db906d66b548684d379f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"309","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:38:34 GMT","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":92.94408299999999,"id":"39c1481495ca0878","name":"Request","timestamp":1646055514413989,"trace_id":"6b9e3be12373293cb49ca533fcff0c50","type":"external","action":"request","outcome":"success","parent_id":"ff2f9c257e6d93fe","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6b9e3be12373293c"}} +{"span":{"duration":0.115167,"id":"b57017f8d924c0c9","name":"Response","timestamp":1646055514506954,"trace_id":"6b9e3be12373293cb49ca533fcff0c50","type":"external","action":"response","outcome":"success","parent_id":"ff2f9c257e6d93fe","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6b9e3be12373293c"}} +{"span":{"duration":93.100626,"id":"ff2f9c257e6d93fe","name":"GET opbeans-node:3000","timestamp":1646055514413970,"trace_id":"6b9e3be12373293cb49ca533fcff0c50","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types","status_code":200}},"outcome":"success","parent_id":"6b9e3be12373293c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6b9e3be12373293c"}} +{"transaction":{"duration":94.03170800000001,"id":"6b9e3be12373293c","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055514413159,"trace_id":"6b9e3be12373293cb49ca533fcff0c50","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","X-Frame-Options":"DENY","Content-Length":"123","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:38:34 GMT","Content-Type":"application/json","X-Powered-By":"Express","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.7324169999999999,"id":"c1c708a2a9bf2381","name":"SELECT FROM orders","timestamp":1646055514525283,"trace_id":"5c48a34612ac00c39c8fb8a7316f4bf6","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5c48a34612ac00c3","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5c48a34612ac00c3"}} +{"span":{"duration":0.587208,"id":"25c4a7be51e89b93","name":"SELECT FROM products","timestamp":1646055514527078,"trace_id":"5c48a34612ac00c39c8fb8a7316f4bf6","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5c48a34612ac00c3","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5c48a34612ac00c3"}} +{"transaction":{"duration":2.595166,"id":"5c48a34612ac00c3","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055514525264,"trace_id":"5c48a34612ac00c39c8fb8a7316f4bf6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/662","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/662"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.662416,"id":"2777f255388eccbf","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055514548143,"trace_id":"2777f255388eccbf1fcfabe92ccf11c9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.33075,"id":"f4998665e0ab5bf3","name":"DNS opbeans-node","timestamp":1646055514567192,"trace_id":"2db07534d613cfb1ec4fb669056bc81d","type":"external","action":"dns","outcome":"success","parent_id":"51b4ee0b1132a7ef","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2db07534d613cfb1"}} +{"span":{"duration":0.36383299999999996,"id":"c6eb6fc63133e732","name":"Connect 172.23.0.10:3000","timestamp":1646055514567527,"trace_id":"2db07534d613cfb1ec4fb669056bc81d","type":"external","action":"connect","outcome":"success","parent_id":"51b4ee0b1132a7ef","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2db07534d613cfb1"}} +{"span":{"duration":141.405708,"id":"f1daa1f01c0b9607","name":"Request","timestamp":1646055514567910,"trace_id":"2db07534d613cfb1ec4fb669056bc81d","type":"external","action":"request","outcome":"success","parent_id":"51b4ee0b1132a7ef","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2db07534d613cfb1"}} +{"span":{"duration":2.4012909999999996,"id":"62c67342b651e1e2","name":"Response","timestamp":1646055514709343,"trace_id":"2db07534d613cfb1ec4fb669056bc81d","type":"external","action":"response","outcome":"success","parent_id":"51b4ee0b1132a7ef","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2db07534d613cfb1"}} +{"span":{"duration":144.59908399999998,"id":"51b4ee0b1132a7ef","name":"GET opbeans-node:3000","timestamp":1646055514567149,"trace_id":"2db07534d613cfb1ec4fb669056bc81d","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"2db07534d613cfb1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2db07534d613cfb1"}} +{"transaction":{"duration":144.76425,"id":"2db07534d613cfb1","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055514567084,"trace_id":"2db07534d613cfb1ec4fb669056bc81d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"186769","Etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","Date":"Mon, 28 Feb 2022 13:38:34 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5245420000000001,"id":"dc55d797b0955182","name":"SELECT FROM orders","timestamp":1646055514729515,"trace_id":"da58b63bc387a074c8277f5dee10943f","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"da58b63bc387a074","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"da58b63bc387a074"}} +{"span":{"duration":0.458208,"id":"4dc5ddf10e788bd6","name":"SELECT FROM products","timestamp":1646055514730068,"trace_id":"da58b63bc387a074c8277f5dee10943f","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"da58b63bc387a074","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"da58b63bc387a074"}} +{"transaction":{"duration":1.25775,"id":"da58b63bc387a074","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055514729468,"trace_id":"da58b63bc387a074c8277f5dee10943f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/206","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/206"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.315625,"id":"b76d9bc7faa5a6f6","name":"DNS opbeans-python","timestamp":1646055514749863,"trace_id":"1d527ccaead30102b7340b7fac3e0fde","type":"external","action":"dns","outcome":"success","parent_id":"677f4d9aab86252c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1d527ccaead30102"}} +{"span":{"duration":0.11495899999999999,"id":"90ad3b5c5df80148","name":"Connect 172.23.0.11:3000","timestamp":1646055514750183,"trace_id":"1d527ccaead30102b7340b7fac3e0fde","type":"external","action":"connect","outcome":"success","parent_id":"677f4d9aab86252c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1d527ccaead30102"}} +{"span":{"duration":34.575,"id":"a783dc9ffed5147b","name":"Request","timestamp":1646055514750309,"trace_id":"1d527ccaead30102b7340b7fac3e0fde","type":"external","action":"request","outcome":"success","parent_id":"677f4d9aab86252c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1d527ccaead30102"}} +{"span":{"duration":1.842125,"id":"cc0316a05095f671","name":"Response","timestamp":1646055514784908,"trace_id":"1d527ccaead30102b7340b7fac3e0fde","type":"external","action":"response","outcome":"success","parent_id":"677f4d9aab86252c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1d527ccaead30102"}} +{"span":{"duration":36.935333,"id":"677f4d9aab86252c","name":"GET opbeans-python:3000","timestamp":1646055514749817,"trace_id":"1d527ccaead30102b7340b7fac3e0fde","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"1d527ccaead30102","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1d527ccaead30102"}} +{"transaction":{"duration":37.07025,"id":"1d527ccaead30102","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055514749753,"trace_id":"1d527ccaead30102b7340b7fac3e0fde","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Referrer-Policy":"same-origin","X-Frame-Options":"DENY","Vary":"Cookie","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:38:34 GMT","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.224041,"id":"53453eeee36448ae","name":"DNS opbeans-go","timestamp":1646055514803864,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","action":"dns","outcome":"success","parent_id":"40a0fab9a3e11b39","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"10d2a813f3d300c6"}} +{"span":{"duration":0.042208,"id":"24a1716d2d6d6535","name":"Connect 172.23.0.9:3000","timestamp":1646055514804091,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","action":"connect","outcome":"success","parent_id":"40a0fab9a3e11b39","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"10d2a813f3d300c6"}} +{"span":{"duration":0.315334,"id":"a534f3def8cf9bf0","name":"DNS opbeans-node","timestamp":1646055514815010,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","action":"dns","outcome":"success","parent_id":"976e3c79d57d013f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0ef1a1cc710eebf0"}} +{"span":{"duration":0.125375,"id":"1543dec38a9714fc","name":"Connect 172.23.0.10:3000","timestamp":1646055514815330,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","action":"connect","outcome":"success","parent_id":"976e3c79d57d013f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0ef1a1cc710eebf0"}} +{"span":{"duration":117.505209,"id":"8902ba493a808196","name":"Request","timestamp":1646055514815469,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","action":"request","outcome":"success","parent_id":"976e3c79d57d013f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0ef1a1cc710eebf0"}} +{"span":{"duration":0.125292,"id":"20ac5647b8fc3dc6","name":"Response","timestamp":1646055514933009,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","action":"response","outcome":"success","parent_id":"976e3c79d57d013f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0ef1a1cc710eebf0"}} +{"span":{"duration":118.171833,"id":"976e3c79d57d013f","name":"GET opbeans-node:3000","timestamp":1646055514814963,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"0ef1a1cc710eebf0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0ef1a1cc710eebf0"}} +{"transaction":{"duration":118.356125,"id":"0ef1a1cc710eebf0","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055514814909,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-23d2cc67b7a546fbdae6cb1f588c6197-293d3eb16a5ecb7c-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-23d2cc67b7a546fbdae6cb1f588c6197-293d3eb16a5ecb7c-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:38:34 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"293d3eb16a5ecb7c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":143.247792,"id":"9cfb0eb86a6a454b","name":"Request","timestamp":1646055514804268,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","action":"request","outcome":"success","parent_id":"50ffceeae0be87ce","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f4ba5a753616c189"}} +{"span":{"duration":0.096708,"id":"858cfd7f1479d6dd","name":"Response","timestamp":1646055514947624,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","action":"response","outcome":"success","parent_id":"50ffceeae0be87ce","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f4ba5a753616c189"}} +{"span":{"duration":143.594166,"id":"ad1cb4235c3239c0","name":"Request","timestamp":1646055514804141,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","action":"request","outcome":"success","parent_id":"40a0fab9a3e11b39","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"10d2a813f3d300c6"}} +{"span":{"duration":143.46208299999998,"id":"50ffceeae0be87ce","name":"GET opbeans-ruby:3000","timestamp":1646055514804260,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"f4ba5a753616c189","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f4ba5a753616c189"}} +{"transaction":{"duration":143.628708,"id":"f4ba5a753616c189","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055514804229,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-23d2cc67b7a546fbdae6cb1f588c6197-40a0fab9a3e11b39-01","Traceparent":"00-23d2cc67b7a546fbdae6cb1f588c6197-40a0fab9a3e11b39-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14, 172.23.0.9"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"40a0fab9a3e11b39","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":144.505875,"id":"03f5983b679a5130","name":"Request","timestamp":1646055514803380,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","action":"request","outcome":"success","parent_id":"18a4aad0dd4d709a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"23d2cc67b7a546fb"}} +{"span":{"duration":0.232167,"id":"06d8cab3d17b16cb","name":"Response","timestamp":1646055514947744,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","action":"response","outcome":"success","parent_id":"40a0fab9a3e11b39","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"10d2a813f3d300c6"}} +{"span":{"duration":2.170625,"id":"0a809c68e1561e44","name":"Response","timestamp":1646055514947890,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","action":"response","outcome":"success","parent_id":"18a4aad0dd4d709a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"23d2cc67b7a546fb"}} +{"span":{"duration":146.7005,"id":"18a4aad0dd4d709a","name":"GET opbeans-go:3000","timestamp":1646055514803363,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"23d2cc67b7a546fb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"23d2cc67b7a546fb"}} +{"transaction":{"duration":146.82700000000003,"id":"23d2cc67b7a546fb","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055514803300,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:38:34 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":144.184125,"id":"40a0fab9a3e11b39","name":"GET opbeans-go:3000","timestamp":1646055514803793,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"10d2a813f3d300c6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"10d2a813f3d300c6"}} +{"transaction":{"duration":146.950375,"id":"10d2a813f3d300c6","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055514803750,"trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-23d2cc67b7a546fbdae6cb1f588c6197-18a4aad0dd4d709a-01","Traceparent":"00-23d2cc67b7a546fbdae6cb1f588c6197-18a4aad0dd4d709a-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:38:34 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"18a4aad0dd4d709a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.48966600000000005,"id":"6d50736b91d57a00","name":"SELECT FROM products","timestamp":1646055515032033,"trace_id":"2c356fbc76dab0d4104264a4270f63e0","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"99518a2d5be36176","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"99518a2d5be36176"}} +{"transaction":{"duration":0.831375,"id":"99518a2d5be36176","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055515032010,"trace_id":"2c356fbc76dab0d4104264a4270f63e0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"Traceparent":"00-2c356fbc76dab0d4104264a4270f63e0-851978fc5e5abd22-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-2c356fbc76dab0d4104264a4270f63e0-851978fc5e5abd22-01","Connection":"close","User-Agent":"http.rb/5.0.4"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"851978fc5e5abd22","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":104.761042,"id":"a6e15517c184b257","name":"Request","timestamp":1646055514968295,"trace_id":"5a53b52e1c258d281e9aa4916fbad84b","type":"external","action":"request","outcome":"success","parent_id":"bacd4829183c7108","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5a53b52e1c258d28"}} +{"span":{"duration":0.206833,"id":"e7ca8ab1c01a2959","name":"Response","timestamp":1646055515073089,"trace_id":"5a53b52e1c258d281e9aa4916fbad84b","type":"external","action":"response","outcome":"success","parent_id":"bacd4829183c7108","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5a53b52e1c258d28"}} +{"span":{"duration":105.019625,"id":"bacd4829183c7108","name":"GET opbeans-ruby:3000","timestamp":1646055514968278,"trace_id":"5a53b52e1c258d281e9aa4916fbad84b","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"5a53b52e1c258d28","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5a53b52e1c258d28"}} +{"transaction":{"duration":105.23408300000001,"id":"5a53b52e1c258d28","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055514968201,"trace_id":"5a53b52e1c258d281e9aa4916fbad84b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.993625,"id":"a5d2339dd5961529","name":"SELECT FROM customers","timestamp":1646055515103763,"trace_id":"9fd951596481a7d58ad9cecfb46f3a89","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9fd951596481a7d5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9fd951596481a7d5"}} +{"span":{"duration":0.107292,"id":"c83064829cc76f64","name":"INSERT INTO order_lines","timestamp":1646055515104951,"trace_id":"9fd951596481a7d58ad9cecfb46f3a89","type":"db","action":"prepare","context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9fd951596481a7d5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9fd951596481a7d5"}} +{"span":{"duration":3.927958,"id":"c4a319518f00a8a1","name":"INSERT INTO orders","timestamp":1646055515105065,"trace_id":"9fd951596481a7d58ad9cecfb46f3a89","type":"db","action":"query","context":{"db":{"statement":"INSERT INTO orders (customer_id) VALUES ($1) RETURNING id","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9fd951596481a7d5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9fd951596481a7d5"}} +{"span":{"duration":0.45204099999999997,"id":"5a34afb5f8a9902e","name":"INSERT INTO order_lines","timestamp":1646055515109075,"trace_id":"9fd951596481a7d58ad9cecfb46f3a89","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9fd951596481a7d5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9fd951596481a7d5"}} +{"span":{"duration":0.512875,"id":"553fb5a6afab4798","name":"INSERT INTO order_lines","timestamp":1646055515109616,"trace_id":"9fd951596481a7d58ad9cecfb46f3a89","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9fd951596481a7d5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9fd951596481a7d5"}} +{"transaction":{"duration":10.449333999999999,"id":"9fd951596481a7d5","name":"POST /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055515102349,"trace_id":"9fd951596481a7d58ad9cecfb46f3a89","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"79","Content-Type":"text/plain; charset=utf-8","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"customer_name":"Phyllis George","customer_email":"pgeorgeiy@mapy.cz"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.661833,"id":"8f532bd3c83d23b3","name":"SELECT FROM customers","timestamp":1646055515126964,"trace_id":"8b83ebbf91c37cefb75ac745f2efd89c","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"725a2e89687b9fef","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"725a2e89687b9fef"}} +{"transaction":{"duration":3.4558750000000003,"id":"725a2e89687b9fef","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055515126945,"trace_id":"8b83ebbf91c37cefb75ac745f2efd89c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Traceparent":"00-8b83ebbf91c37cefb75ac745f2efd89c-ad598bae0169f3eb-01","Elastic-Apm-Traceparent":"00-8b83ebbf91c37cefb75ac745f2efd89c-ad598bae0169f3eb-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ad598bae0169f3eb","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.0929170000000001,"id":"7b271252a45d93ee","name":"SELECT FROM customers","timestamp":1646055515136234,"trace_id":"abffca27a0532a472b5f214d489f50f5","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"abffca27a0532a47","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"abffca27a0532a47"}} +{"transaction":{"duration":2.863,"id":"abffca27a0532a47","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055515136208,"trace_id":"abffca27a0532a472b5f214d489f50f5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","search":"limit=100","full":"http://opbeans-go:3000/api/products/1/customers?limit=100"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.16145800000000002,"id":"ed48dfe6e7705d75","name":"SELECT FROM customers","timestamp":1646055515158019,"trace_id":"44a58e219754f23b22c8ef1f9c0e3757","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"44a58e219754f23b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"44a58e219754f23b"}} +{"transaction":{"duration":2.276792,"id":"44a58e219754f23b","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055515158004,"trace_id":"44a58e219754f23b22c8ef1f9c0e3757","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.3115,"id":"05ea6368eb30b990","name":"DNS opbeans-node","timestamp":1646055515179435,"trace_id":"d8223fb2365f4ff8442d525295613dae","type":"external","action":"dns","outcome":"success","parent_id":"131867dc1851550a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d8223fb2365f4ff8"}} +{"span":{"duration":0.135542,"id":"a84b7598ed1164a3","name":"Connect 172.23.0.10:3000","timestamp":1646055515179753,"trace_id":"d8223fb2365f4ff8442d525295613dae","type":"external","action":"connect","outcome":"success","parent_id":"131867dc1851550a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d8223fb2365f4ff8"}} +{"span":{"duration":78.558958,"id":"118fc5f914621aa2","name":"Request","timestamp":1646055515179899,"trace_id":"d8223fb2365f4ff8442d525295613dae","type":"external","action":"request","outcome":"success","parent_id":"131867dc1851550a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d8223fb2365f4ff8"}} +{"span":{"duration":0.117959,"id":"25abf4a36ee2d57f","name":"Response","timestamp":1646055515258484,"trace_id":"d8223fb2365f4ff8442d525295613dae","type":"external","action":"response","outcome":"success","parent_id":"131867dc1851550a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d8223fb2365f4ff8"}} +{"span":{"duration":79.32962500000001,"id":"131867dc1851550a","name":"GET opbeans-node:3000","timestamp":1646055515179273,"trace_id":"d8223fb2365f4ff8442d525295613dae","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"d8223fb2365f4ff8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d8223fb2365f4ff8"}} +{"transaction":{"duration":79.475958,"id":"d8223fb2365f4ff8","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055515179222,"trace_id":"d8223fb2365f4ff8442d525295613dae","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"275","Etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","Date":"Mon, 28 Feb 2022 13:38:35 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.687083,"id":"2c6b2ea7dd6b4848","name":"SELECT FROM customers","timestamp":1646055515294177,"trace_id":"d4c55fa7d376b198669348730aa8a4e6","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f5789a857ddf0d05","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f5789a857ddf0d05"}} +{"transaction":{"duration":2.5852090000000003,"id":"f5789a857ddf0d05","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055515294160,"trace_id":"d4c55fa7d376b198669348730aa8a4e6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Traceparent":"00-d4c55fa7d376b198669348730aa8a4e6-c1c18d60d0e60f2f-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-d4c55fa7d376b198669348730aa8a4e6-c1c18d60d0e60f2f-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c1c18d60d0e60f2f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":23.175333,"id":"57344f9c0229d488","name":"Request","timestamp":1646055515276909,"trace_id":"d4c55fa7d376b198669348730aa8a4e6","type":"external","action":"request","outcome":"success","parent_id":"ea7b93dcf393f55f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d4c55fa7d376b198"}} +{"span":{"duration":2.863875,"id":"2de27758643c4882","name":"Response","timestamp":1646055515300108,"trace_id":"d4c55fa7d376b198669348730aa8a4e6","type":"external","action":"response","outcome":"success","parent_id":"ea7b93dcf393f55f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d4c55fa7d376b198"}} +{"span":{"duration":26.088209000000003,"id":"ea7b93dcf393f55f","name":"GET opbeans-node:3000","timestamp":1646055515276888,"trace_id":"d4c55fa7d376b198669348730aa8a4e6","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"d4c55fa7d376b198","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d4c55fa7d376b198"}} +{"transaction":{"duration":26.272333,"id":"d4c55fa7d376b198","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055515276777,"trace_id":"d4c55fa7d376b198669348730aa8a4e6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:38:35 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":65.03437500000001,"id":"cd6b1d22b4961a02","name":"Request","timestamp":1646055515320376,"trace_id":"19c0272eccf84732efb377593dc28d7a","type":"external","action":"request","outcome":"success","parent_id":"5eaba4abcdde532d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"19c0272eccf84732"}} +{"span":{"duration":0.208083,"id":"1a8c3a4e8ebbc232","name":"Response","timestamp":1646055515385432,"trace_id":"19c0272eccf84732efb377593dc28d7a","type":"external","action":"response","outcome":"success","parent_id":"5eaba4abcdde532d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"19c0272eccf84732"}} +{"span":{"duration":65.285083,"id":"5eaba4abcdde532d","name":"GET opbeans-ruby:3000","timestamp":1646055515320356,"trace_id":"19c0272eccf84732efb377593dc28d7a","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"19c0272eccf84732","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"19c0272eccf84732"}} +{"transaction":{"duration":65.480125,"id":"19c0272eccf84732","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055515320282,"trace_id":"19c0272eccf84732efb377593dc28d7a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"SAMEORIGIN","X-Xss-Protection":"1; mode=block","X-Runtime":"0.055741","X-Download-Options":"noopen","Cache-Control":"max-age=0, private, must-revalidate","X-Permitted-Cross-Domain-Policies":"none","Vary":"Accept","Etag":"W/\"37992d7e5d1df22332cd7c5be552ddce\"","X-Content-Type-Options":"nosniff","Referrer-Policy":"strict-origin-when-cross-origin","Content-Type":"application/json; charset=utf-8","X-Request-Id":"4e2338ec-8e40-4689-be44-965db90bc72a"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.397417,"id":"fc3f222748a42eb1","name":"SELECT FROM product_types","timestamp":1646055515405068,"trace_id":"b188a1be629e49d1f0784b8c800067e2","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b188a1be629e49d1","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b188a1be629e49d1"}} +{"transaction":{"duration":0.603625,"id":"b188a1be629e49d1","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055515405051,"trace_id":"b188a1be629e49d1f0784b8c800067e2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.25704200000000005,"id":"87f417e2a0a46fb4","name":"DNS opbeans-python","timestamp":1646055515425244,"trace_id":"3cc332f91be3e85dcb7966de70477b04","type":"external","action":"dns","outcome":"success","parent_id":"c6036d3aa47f9fed","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3cc332f91be3e85d"}} +{"span":{"duration":0.24533299999999997,"id":"a150e30eb1d7cf1c","name":"Connect 172.23.0.11:3000","timestamp":1646055515425505,"trace_id":"3cc332f91be3e85dcb7966de70477b04","type":"external","action":"connect","outcome":"success","parent_id":"c6036d3aa47f9fed","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3cc332f91be3e85d"}} +{"span":{"duration":57.938792,"id":"14b8ce9625d6de3a","name":"Request","timestamp":1646055515425762,"trace_id":"3cc332f91be3e85dcb7966de70477b04","type":"external","action":"request","outcome":"success","parent_id":"c6036d3aa47f9fed","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3cc332f91be3e85d"}} +{"span":{"duration":1.258125,"id":"eef5708f28062185","name":"Response","timestamp":1646055515483730,"trace_id":"3cc332f91be3e85dcb7966de70477b04","type":"external","action":"response","outcome":"success","parent_id":"c6036d3aa47f9fed","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3cc332f91be3e85d"}} +{"span":{"duration":59.832958999999995,"id":"c6036d3aa47f9fed","name":"GET opbeans-python:3000","timestamp":1646055515425158,"trace_id":"3cc332f91be3e85dcb7966de70477b04","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/965","status_code":200}},"outcome":"success","parent_id":"3cc332f91be3e85d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3cc332f91be3e85d"}} +{"transaction":{"duration":60.079584,"id":"3cc332f91be3e85d","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055515425031,"trace_id":"3cc332f91be3e85dcb7966de70477b04","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/965","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/965"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:38:35 GMT","Content-Type":"application/json","Content-Length":"321","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","X-Frame-Options":"DENY","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.352708,"id":"ffdc4f24f414db01","name":"DNS opbeans-python","timestamp":1646055515507749,"trace_id":"c8be2eba215ce0e47dd5c5c5121ec65f","type":"external","action":"dns","outcome":"success","parent_id":"abf6bf4d646570fa","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c8be2eba215ce0e4"}} +{"span":{"duration":0.129709,"id":"7788c65cddd42bf7","name":"Connect 172.23.0.11:3000","timestamp":1646055515508107,"trace_id":"c8be2eba215ce0e47dd5c5c5121ec65f","type":"external","action":"connect","outcome":"success","parent_id":"abf6bf4d646570fa","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c8be2eba215ce0e4"}} +{"span":{"duration":39.714875,"id":"dd5c9e6ed27e7802","name":"Request","timestamp":1646055515508248,"trace_id":"c8be2eba215ce0e47dd5c5c5121ec65f","type":"external","action":"request","outcome":"success","parent_id":"abf6bf4d646570fa","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c8be2eba215ce0e4"}} +{"span":{"duration":0.366417,"id":"187951c63858179f","name":"Response","timestamp":1646055515547989,"trace_id":"c8be2eba215ce0e47dd5c5c5121ec65f","type":"external","action":"response","outcome":"success","parent_id":"abf6bf4d646570fa","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c8be2eba215ce0e4"}} +{"span":{"duration":40.66125,"id":"abf6bf4d646570fa","name":"POST opbeans-python:3000","timestamp":1646055515507695,"trace_id":"c8be2eba215ce0e47dd5c5c5121ec65f","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/csv","status_code":200}},"outcome":"success","parent_id":"c8be2eba215ce0e4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c8be2eba215ce0e4"}} +{"transaction":{"duration":40.865584000000005,"id":"c8be2eba215ce0e4","name":"POST /api/orders/csv","span_count":{"dropped":0,"started":5},"timestamp":1646055515507585,"trace_id":"c8be2eba215ce0e47dd5c5c5121ec65f","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders/csv","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/csv"},"headers":{"Content-Length":"371","Content-Type":"multipart/form-data; boundary=55f9749fb25e4fbb964e1edd668a0f11","Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8","X-Frame-Options":"DENY","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:38:35 GMT","Content-Length":"2","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.275792,"id":"73301354c3cfee9f","name":"SELECT FROM products","timestamp":1646055515567033,"trace_id":"5ac666c990f189d54e65bc46380129b2","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5ac666c990f189d5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5ac666c990f189d5"}} +{"transaction":{"duration":1.5034589999999999,"id":"5ac666c990f189d5","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055515567017,"trace_id":"5ac666c990f189d54e65bc46380129b2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.311584,"id":"dadc05ed6d465b1b","name":"DNS opbeans-python","timestamp":1646055515587211,"trace_id":"5521dcdd211cb5e8feeaa89335cfd5bc","type":"external","action":"dns","outcome":"success","parent_id":"ff13bf9770412655","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5521dcdd211cb5e8"}} +{"span":{"duration":0.29704200000000003,"id":"204d1ee657bd91f9","name":"Connect 172.23.0.11:3000","timestamp":1646055515587527,"trace_id":"5521dcdd211cb5e8feeaa89335cfd5bc","type":"external","action":"connect","outcome":"success","parent_id":"ff13bf9770412655","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5521dcdd211cb5e8"}} +{"span":{"duration":0.856791,"id":"ab92f36a13dfc462","name":"SELECT FROM customers","timestamp":1646055515602095,"trace_id":"5521dcdd211cb5e8feeaa89335cfd5bc","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d2c2556747cdc5b0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d2c2556747cdc5b0"}} +{"transaction":{"duration":2.35875,"id":"d2c2556747cdc5b0","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055515602070,"trace_id":"5521dcdd211cb5e8feeaa89335cfd5bc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Traceparent":"00-5521dcdd211cb5e8feeaa89335cfd5bc-a0a342688bf53474-01","Elastic-Apm-Traceparent":"00-5521dcdd211cb5e8feeaa89335cfd5bc-a0a342688bf53474-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a0a342688bf53474","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":36.43825,"id":"976624b81f2e0211","name":"Request","timestamp":1646055515587865,"trace_id":"5521dcdd211cb5e8feeaa89335cfd5bc","type":"external","action":"request","outcome":"success","parent_id":"ff13bf9770412655","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5521dcdd211cb5e8"}} +{"span":{"duration":0.18329199999999998,"id":"c99696635aa8cfad","name":"Response","timestamp":1646055515624335,"trace_id":"5521dcdd211cb5e8feeaa89335cfd5bc","type":"external","action":"response","outcome":"success","parent_id":"ff13bf9770412655","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5521dcdd211cb5e8"}} +{"span":{"duration":37.3685,"id":"ff13bf9770412655","name":"GET opbeans-python:3000","timestamp":1646055515587151,"trace_id":"5521dcdd211cb5e8feeaa89335cfd5bc","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/5/customers","status_code":200}},"outcome":"success","parent_id":"5521dcdd211cb5e8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5521dcdd211cb5e8"}} +{"transaction":{"duration":40.402667,"id":"5521dcdd211cb5e8","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055515586809,"trace_id":"5521dcdd211cb5e8feeaa89335cfd5bc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:38:35 GMT","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Content-Length":"113114","Vary":"Cookie","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":1.578917,"id":"a9421397540ff933","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055515643323,"trace_id":"a9421397540ff933217b6febaa9b617c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"217b6febaa9b617c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.457583,"id":"7045c09676667501","name":"SELECT FROM orders","timestamp":1646055515663208,"trace_id":"9b4a55a0ac94bcc6b4c64f264011a197","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9b4a55a0ac94bcc6","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9b4a55a0ac94bcc6"}} +{"transaction":{"duration":2.8140840000000003,"id":"9b4a55a0ac94bcc6","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055515663192,"trace_id":"9b4a55a0ac94bcc6b4c64f264011a197","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.044208,"id":"10e57224fbdb1baf","name":"SELECT FROM customers","timestamp":1646055515690427,"trace_id":"bbf57d98760e8dc7a546ed20916baaa9","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"bbf57d98760e8dc7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"bbf57d98760e8dc7"}} +{"transaction":{"duration":2.6176250000000003,"id":"bbf57d98760e8dc7","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055515690398,"trace_id":"bbf57d98760e8dc7a546ed20916baaa9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.23900000000000002,"id":"99b073dbf963791f","name":"SELECT FROM products","timestamp":1646055515712719,"trace_id":"6131318a99a1d1de4d309217635a0a0c","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0e17073e9ce3158b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0e17073e9ce3158b"}} +{"transaction":{"duration":0.33625,"id":"0e17073e9ce3158b","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055515712705,"trace_id":"6131318a99a1d1de4d309217635a0a0c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-6131318a99a1d1de4d309217635a0a0c-b30a27e9c1b71284-01","Traceparent":"00-6131318a99a1d1de4d309217635a0a0c-b30a27e9c1b71284-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b30a27e9c1b71284","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.603708,"id":"2af23a841022fb32","name":"Request","timestamp":1646055515712489,"trace_id":"6131318a99a1d1de4d309217635a0a0c","type":"external","action":"request","outcome":"success","parent_id":"b30a27e9c1b71284","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6131318a99a1d1de"}} +{"span":{"duration":0.026875,"id":"a67d983f4e05ed86","name":"Response","timestamp":1646055515713094,"trace_id":"6131318a99a1d1de4d309217635a0a0c","type":"external","action":"response","outcome":"success","parent_id":"b30a27e9c1b71284","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6131318a99a1d1de"}} +{"span":{"duration":0.649583,"id":"b30a27e9c1b71284","name":"GET opbeans-go:3000","timestamp":1646055515712472,"trace_id":"6131318a99a1d1de4d309217635a0a0c","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products","status_code":200}},"outcome":"success","parent_id":"6131318a99a1d1de","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6131318a99a1d1de"}} +{"transaction":{"duration":0.985833,"id":"6131318a99a1d1de","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055515712271,"trace_id":"6131318a99a1d1de4d309217635a0a0c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:38:35 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.47100000000000003,"id":"6c13c33c9c0c4420","name":"SELECT FROM orders","timestamp":1646055515732359,"trace_id":"8473a16cebe596f07f8973451baf989d","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8473a16cebe596f0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8473a16cebe596f0"}} +{"transaction":{"duration":2.085959,"id":"8473a16cebe596f0","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055515732345,"trace_id":"8473a16cebe596f07f8973451baf989d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.327708,"id":"b28afeb6b0dafa04","name":"DNS opbeans-python","timestamp":1646055515753715,"trace_id":"7e82b45c4499baadb96330ab249aa12a","type":"external","action":"dns","outcome":"success","parent_id":"5d0fc166d602677f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ee622d8dc0688469"}} +{"span":{"duration":0.772333,"id":"531f2ba28f6ea1a4","name":"Connect 172.23.0.11:3000","timestamp":1646055515754047,"trace_id":"7e82b45c4499baadb96330ab249aa12a","type":"external","action":"connect","outcome":"success","parent_id":"5d0fc166d602677f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ee622d8dc0688469"}} +{"span":{"duration":153.40825,"id":"f37983279a05416c","name":"Request","timestamp":1646055515754851,"trace_id":"7e82b45c4499baadb96330ab249aa12a","type":"external","action":"request","outcome":"success","parent_id":"5d0fc166d602677f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ee622d8dc0688469"}} +{"span":{"duration":0.132583,"id":"663810778e5f7438","name":"Response","timestamp":1646055515908291,"trace_id":"7e82b45c4499baadb96330ab249aa12a","type":"external","action":"response","outcome":"success","parent_id":"5d0fc166d602677f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ee622d8dc0688469"}} +{"span":{"duration":154.89904199999998,"id":"5d0fc166d602677f","name":"GET opbeans-python:3000","timestamp":1646055515753526,"trace_id":"7e82b45c4499baadb96330ab249aa12a","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"ee622d8dc0688469","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ee622d8dc0688469"}} +{"transaction":{"duration":155.12575,"id":"ee622d8dc0688469","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055515753496,"trace_id":"7e82b45c4499baadb96330ab249aa12a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Elastic-Apm-Traceparent":"00-7e82b45c4499baadb96330ab249aa12a-7109dcf154bbe8a5-01","Traceparent":"00-7e82b45c4499baadb96330ab249aa12a-7109dcf154bbe8a5-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Server":"gunicorn","X-Frame-Options":"DENY","Content-Length":"108","Vary":"Cookie","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:38:35 GMT","Content-Type":"application/json; charset=utf-8","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"7109dcf154bbe8a5","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":155.34537500000002,"id":"1fbba9d782bd9b14","name":"Request","timestamp":1646055515753429,"trace_id":"7e82b45c4499baadb96330ab249aa12a","type":"external","action":"request","outcome":"success","parent_id":"7109dcf154bbe8a5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7e82b45c4499baad"}} +{"span":{"duration":0.021625000000000002,"id":"f6de8a526656e81d","name":"Response","timestamp":1646055515908781,"trace_id":"7e82b45c4499baadb96330ab249aa12a","type":"external","action":"response","outcome":"success","parent_id":"7109dcf154bbe8a5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7e82b45c4499baad"}} +{"span":{"duration":155.424542,"id":"7109dcf154bbe8a5","name":"GET opbeans-go:3000","timestamp":1646055515753378,"trace_id":"7e82b45c4499baadb96330ab249aa12a","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"7e82b45c4499baad","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7e82b45c4499baad"}} +{"transaction":{"duration":155.546042,"id":"7e82b45c4499baad","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055515753322,"trace_id":"7e82b45c4499baadb96330ab249aa12a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:38:35 GMT","Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"108","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.131,"id":"c9d9f3b66d1a8a32","name":"SELECT FROM products","timestamp":1646055515927187,"trace_id":"86781a6e2d6da7ad4bc0783fb574518c","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"86781a6e2d6da7ad","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"86781a6e2d6da7ad"}} +{"transaction":{"duration":1.261417,"id":"86781a6e2d6da7ad","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055515927161,"trace_id":"86781a6e2d6da7ad4bc0783fb574518c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5363749999999999,"id":"69b287a6a2e38c80","name":"SELECT FROM products","timestamp":1646055515951254,"trace_id":"16cf5e747bf2bb7deab188e369f66156","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"16cf5e747bf2bb7d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"16cf5e747bf2bb7d"}} +{"transaction":{"duration":0.6898749999999999,"id":"16cf5e747bf2bb7d","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055515951236,"trace_id":"16cf5e747bf2bb7deab188e369f66156","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.7052080000000001,"id":"8179fa2b5952221f","name":"SELECT FROM customers","timestamp":1646055515974055,"trace_id":"2dcb19e2b553729bdddd493456ccb94f","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2dcb19e2b553729b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2dcb19e2b553729b"}} +{"transaction":{"duration":0.986916,"id":"2dcb19e2b553729b","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055515974011,"trace_id":"2dcb19e2b553729bdddd493456ccb94f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/908","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/908"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.442958,"id":"d03966c5b2d2f6a9","name":"DNS opbeans-python","timestamp":1646055515997944,"trace_id":"74306e2162d95e62a0ff4d584ff62f21","type":"external","action":"dns","outcome":"success","parent_id":"fd912b5b06cb00ce","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"101f85e820787f94"}} +{"span":{"duration":0.505583,"id":"5edac3fdf8351b2f","name":"Connect 172.23.0.11:3000","timestamp":1646055515998403,"trace_id":"74306e2162d95e62a0ff4d584ff62f21","type":"external","action":"connect","outcome":"success","parent_id":"fd912b5b06cb00ce","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"101f85e820787f94"}} +{"span":{"duration":51.998833000000005,"id":"fb0d550f52f60c8b","name":"Request","timestamp":1646055515998930,"trace_id":"74306e2162d95e62a0ff4d584ff62f21","type":"external","action":"request","outcome":"success","parent_id":"fd912b5b06cb00ce","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"101f85e820787f94"}} +{"span":{"duration":1.4822920000000002,"id":"436cca2ab0b5e44c","name":"Response","timestamp":1646055516051018,"trace_id":"74306e2162d95e62a0ff4d584ff62f21","type":"external","action":"response","outcome":"success","parent_id":"fd912b5b06cb00ce","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"101f85e820787f94"}} +{"span":{"duration":54.597541,"id":"fd912b5b06cb00ce","name":"GET opbeans-python:3000","timestamp":1646055515997906,"trace_id":"74306e2162d95e62a0ff4d584ff62f21","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"101f85e820787f94","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"101f85e820787f94"}} +{"transaction":{"duration":55.585625,"id":"101f85e820787f94","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055515997860,"trace_id":"74306e2162d95e62a0ff4d584ff62f21","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-74306e2162d95e62a0ff4d584ff62f21-251878ec19cba951-01","Traceparent":"00-74306e2162d95e62a0ff4d584ff62f21-251878ec19cba951-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Referrer-Policy":"same-origin","Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"123","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:38:36 GMT","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"251878ec19cba951","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":56.573625,"id":"7fe0410eff4946f0","name":"Request","timestamp":1646055515997336,"trace_id":"74306e2162d95e62a0ff4d584ff62f21","type":"external","action":"request","outcome":"success","parent_id":"251878ec19cba951","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"74306e2162d95e62"}} +{"span":{"duration":0.043584000000000005,"id":"b875d31351c7d499","name":"Response","timestamp":1646055516053926,"trace_id":"74306e2162d95e62a0ff4d584ff62f21","type":"external","action":"response","outcome":"success","parent_id":"251878ec19cba951","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"74306e2162d95e62"}} +{"span":{"duration":56.65975,"id":"251878ec19cba951","name":"GET opbeans-go:3000","timestamp":1646055515997311,"trace_id":"74306e2162d95e62a0ff4d584ff62f21","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types","status_code":200}},"outcome":"success","parent_id":"74306e2162d95e62","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"74306e2162d95e62"}} +{"transaction":{"duration":57.150625,"id":"74306e2162d95e62","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055515997233,"trace_id":"74306e2162d95e62a0ff4d584ff62f21","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"123","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:38:36 GMT","Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.320625,"id":"c0a30f458f4e6998","name":"DNS opbeans-node","timestamp":1646055516076791,"trace_id":"4b27baef14872102fbae512be50fecbd","type":"external","action":"dns","outcome":"success","parent_id":"e32a4ef72d8c721c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4b27baef14872102"}} +{"span":{"duration":0.148584,"id":"86f11e5cfdf33dd9","name":"Connect 172.23.0.10:3000","timestamp":1646055516077118,"trace_id":"4b27baef14872102fbae512be50fecbd","type":"external","action":"connect","outcome":"success","parent_id":"e32a4ef72d8c721c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4b27baef14872102"}} +{"transaction":{"duration":0.235792,"id":"a305e3270dfee5bc","name":"POST /api/orders","span_count":{"dropped":0,"started":0},"timestamp":1646055516121803,"trace_id":"a0bd7356ed711045cc620133c662fc04","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Traceparent":"00-a0bd7356ed711045cc620133c662fc04-051c27b8880be1e7-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-a0bd7356ed711045cc620133c662fc04-051c27b8880be1e7-01","Connection":"close","Content-Length":"0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"status_code":400},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"051c27b8880be1e7","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":106.44704200000001,"id":"5a7a3230ba2f34d7","name":"Request","timestamp":1646055516077278,"trace_id":"4b27baef14872102fbae512be50fecbd","type":"external","action":"request","outcome":"success","parent_id":"e32a4ef72d8c721c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4b27baef14872102"}} +{"span":{"duration":0.132958,"id":"98bb8f210ae36b0a","name":"Response","timestamp":1646055516183803,"trace_id":"4b27baef14872102fbae512be50fecbd","type":"external","action":"response","outcome":"success","parent_id":"e32a4ef72d8c721c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4b27baef14872102"}} +{"span":{"duration":107.30725000000001,"id":"e32a4ef72d8c721c","name":"GET opbeans-node:3000","timestamp":1646055516076631,"trace_id":"4b27baef14872102fbae512be50fecbd","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/1","status_code":200}},"outcome":"success","parent_id":"4b27baef14872102","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4b27baef14872102"}} +{"transaction":{"duration":107.87462500000001,"id":"4b27baef14872102","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055516076352,"trace_id":"4b27baef14872102fbae512be50fecbd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Etag":"W/\"e7-6JlJegaJ+ir0C8I8EmmOjms1dnc\"","Date":"Mon, 28 Feb 2022 13:38:36 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"231"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.36804200000000004,"id":"7d655c37ccbaf564","name":"DNS opbeans-python","timestamp":1646055516205459,"trace_id":"22e5413c28c0577fc578639315b8b7f5","type":"external","action":"dns","outcome":"success","parent_id":"766892fa6cd92a20","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"22e5413c28c0577f"}} +{"span":{"duration":0.155209,"id":"9700112d931d2aa1","name":"Connect 172.23.0.11:3000","timestamp":1646055516205832,"trace_id":"22e5413c28c0577fc578639315b8b7f5","type":"external","action":"connect","outcome":"success","parent_id":"766892fa6cd92a20","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"22e5413c28c0577f"}} +{"span":{"duration":34.146625,"id":"aafab0a35c210db6","name":"Request","timestamp":1646055516240905,"trace_id":"383c6bb3207030155feef26be6f72966","type":"external","action":"request","outcome":"success","parent_id":"7d553279ba83fab4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"65607d78a5ff4a7d"}} +{"span":{"duration":0.133958,"id":"6ef7f517e6c3f650","name":"Response","timestamp":1646055516275077,"trace_id":"383c6bb3207030155feef26be6f72966","type":"external","action":"response","outcome":"success","parent_id":"7d553279ba83fab4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"65607d78a5ff4a7d"}} +{"span":{"duration":34.324374999999996,"id":"7d553279ba83fab4","name":"GET opbeans-ruby:3000","timestamp":1646055516240887,"trace_id":"383c6bb3207030155feef26be6f72966","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products","status_code":200}},"outcome":"success","parent_id":"65607d78a5ff4a7d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"65607d78a5ff4a7d"}} +{"transaction":{"duration":34.649708000000004,"id":"65607d78a5ff4a7d","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055516240755,"trace_id":"383c6bb3207030155feef26be6f72966","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-383c6bb3207030155feef26be6f72966-6548cf3d8b82115d-01","Elastic-Apm-Traceparent":"00-383c6bb3207030155feef26be6f72966-6548cf3d8b82115d-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Etag":"W/\"e7a2362bf423f315691b319c14409fa6\"","X-Request-Id":"9d66477a-acb0-4cb8-b768-640b436c57b9","X-Runtime":"0.026527","X-Xss-Protection":"1; mode=block","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin","Vary":"Accept","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","Content-Type":"application/json; charset=utf-8","Cache-Control":"max-age=0, private, must-revalidate"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6548cf3d8b82115d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.765458,"id":"89048a55f9a55e28","name":"SELECT FROM products","timestamp":1646055516381450,"trace_id":"3a2cd485beb0ebcb2efbf479817b9f51","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4594d13ab52feaeb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4594d13ab52feaeb"}} +{"transaction":{"duration":0.950542,"id":"4594d13ab52feaeb","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055516381424,"trace_id":"3a2cd485beb0ebcb2efbf479817b9f51","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"Traceparent":"00-3a2cd485beb0ebcb2efbf479817b9f51-37c6372ead70a2b5-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.12","Accept-Encoding":"gzip","User-Agent":"http.rb/5.0.4","Elastic-Apm-Traceparent":"00-3a2cd485beb0ebcb2efbf479817b9f51-37c6372ead70a2b5-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"37c6372ead70a2b5","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.173833,"id":"83fed9f41d28e4e3","name":"Request","timestamp":1646055516381259,"trace_id":"3a2cd485beb0ebcb2efbf479817b9f51","type":"external","action":"request","outcome":"success","parent_id":"37c6372ead70a2b5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f33a295ef745a978"}} +{"span":{"duration":0.020333,"id":"fc74f7abc4ca06b0","name":"Response","timestamp":1646055516382436,"trace_id":"3a2cd485beb0ebcb2efbf479817b9f51","type":"external","action":"response","outcome":"success","parent_id":"37c6372ead70a2b5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f33a295ef745a978"}} +{"span":{"duration":1.222416,"id":"37c6372ead70a2b5","name":"GET opbeans-go:3000","timestamp":1646055516381234,"trace_id":"3a2cd485beb0ebcb2efbf479817b9f51","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/3","status_code":200}},"outcome":"success","parent_id":"f33a295ef745a978","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f33a295ef745a978"}} +{"transaction":{"duration":1.479875,"id":"f33a295ef745a978","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055516381148,"trace_id":"3a2cd485beb0ebcb2efbf479817b9f51","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-3a2cd485beb0ebcb2efbf479817b9f51-da0aee45094a8a51-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-3a2cd485beb0ebcb2efbf479817b9f51-da0aee45094a8a51-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:38:36 GMT","Content-Length":"231"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"da0aee45094a8a51","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":247.77795899999998,"id":"39f612a1f73780bc","name":"Request","timestamp":1646055516478748,"trace_id":"462e1b36465782d2dfbe3ad7edaecdea","type":"external","action":"request","outcome":"success","parent_id":"f2a95f8b914ee8eb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fde5b97aea0ef0c2"}} +{"span":{"duration":0.151333,"id":"d9e3d4cf558ea850","name":"Response","timestamp":1646055516726646,"trace_id":"462e1b36465782d2dfbe3ad7edaecdea","type":"external","action":"response","outcome":"success","parent_id":"f2a95f8b914ee8eb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fde5b97aea0ef0c2"}} +{"span":{"duration":248.072292,"id":"f2a95f8b914ee8eb","name":"GET opbeans-node:3000","timestamp":1646055516478726,"trace_id":"462e1b36465782d2dfbe3ad7edaecdea","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"fde5b97aea0ef0c2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fde5b97aea0ef0c2"}} +{"transaction":{"duration":248.736834,"id":"fde5b97aea0ef0c2","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055516478342,"trace_id":"462e1b36465782d2dfbe3ad7edaecdea","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Elastic-Apm-Traceparent":"00-462e1b36465782d2dfbe3ad7edaecdea-942caa7a5e73762c-01","Connection":"close","Traceparent":"00-462e1b36465782d2dfbe3ad7edaecdea-942caa7a5e73762c-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Server":"gunicorn","Referrer-Policy":"same-origin","X-Powered-By":"Express","Date":"Mon, 28 Feb 2022 13:38:36 GMT","Vary":"Cookie","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Content-Length":"117","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"942caa7a5e73762c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.749125,"id":"4403ee878992f60e","name":"DNS opbeans-node","timestamp":1646055517057516,"trace_id":"da498baa4d1fbbed7184e0735aba3ee0","type":"external","action":"dns","outcome":"success","parent_id":"107ab5fe98eca4d3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7c0f9844e421aba6"}} +{"span":{"duration":0.118,"id":"4e273f27885e7e69","name":"Connect 172.23.0.10:3000","timestamp":1646055517058284,"trace_id":"da498baa4d1fbbed7184e0735aba3ee0","type":"external","action":"connect","outcome":"success","parent_id":"107ab5fe98eca4d3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7c0f9844e421aba6"}} +{"span":{"duration":0.590584,"id":"5b544bc945106794","name":"SELECT FROM customers","timestamp":1646055517079665,"trace_id":"da498baa4d1fbbed7184e0735aba3ee0","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f62c659520e7e33f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f62c659520e7e33f"}} +{"transaction":{"duration":3.839292,"id":"f62c659520e7e33f","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055517079604,"trace_id":"da498baa4d1fbbed7184e0735aba3ee0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Connection":"close","Traceparent":"00-da498baa4d1fbbed7184e0735aba3ee0-b07602bf7a15c786-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-da498baa4d1fbbed7184e0735aba3ee0-b07602bf7a15c786-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b07602bf7a15c786","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":29.576417,"id":"f63308a5b41342b3","name":"Request","timestamp":1646055517058421,"trace_id":"da498baa4d1fbbed7184e0735aba3ee0","type":"external","action":"request","outcome":"success","parent_id":"107ab5fe98eca4d3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7c0f9844e421aba6"}} +{"span":{"duration":61.139584,"id":"5dd06d9f07e0acf8","name":"Request","timestamp":1646055517038922,"trace_id":"da498baa4d1fbbed7184e0735aba3ee0","type":"external","action":"request","outcome":"success","parent_id":"95f9c175ab4121df","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cef86dfd1fec5305"}} +{"span":{"duration":32.185208,"id":"d38daa44529e769e","name":"Response","timestamp":1646055517088053,"trace_id":"da498baa4d1fbbed7184e0735aba3ee0","type":"external","action":"response","outcome":"success","parent_id":"107ab5fe98eca4d3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7c0f9844e421aba6"}} +{"span":{"duration":63.067125000000004,"id":"107ab5fe98eca4d3","name":"GET opbeans-node:3000","timestamp":1646055517057270,"trace_id":"da498baa4d1fbbed7184e0735aba3ee0","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"7c0f9844e421aba6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7c0f9844e421aba6"}} +{"transaction":{"duration":63.53125,"id":"7c0f9844e421aba6","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055517057125,"trace_id":"da498baa4d1fbbed7184e0735aba3ee0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-da498baa4d1fbbed7184e0735aba3ee0-ac84ae14b92619cf-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-da498baa4d1fbbed7184e0735aba3ee0-ac84ae14b92619cf-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:38:37 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ac84ae14b92619cf","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":21.727542,"id":"5e7304f0f78b756f","name":"Response","timestamp":1646055517100143,"trace_id":"da498baa4d1fbbed7184e0735aba3ee0","type":"external","action":"response","outcome":"success","parent_id":"95f9c175ab4121df","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cef86dfd1fec5305"}} +{"span":{"duration":83.395459,"id":"95f9c175ab4121df","name":"GET opbeans-ruby:3000","timestamp":1646055517038526,"trace_id":"da498baa4d1fbbed7184e0735aba3ee0","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"cef86dfd1fec5305","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cef86dfd1fec5305"}} +{"transaction":{"duration":83.916541,"id":"cef86dfd1fec5305","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055517038158,"trace_id":"da498baa4d1fbbed7184e0735aba3ee0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-da498baa4d1fbbed7184e0735aba3ee0-59daab9314428141-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-da498baa4d1fbbed7184e0735aba3ee0-59daab9314428141-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"59daab9314428141","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":42.090125,"id":"5e5300e9a7a0730c","name":"Request","timestamp":1646055517476479,"trace_id":"2dd27eeed9d5779c6ce61d2dc873f96b","type":"external","action":"request","outcome":"success","parent_id":"fa843a58138e32ed","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"394e01ca8e83828e"}} +{"span":{"duration":7.562875,"id":"db233fb4550a956d","name":"Response","timestamp":1646055517518591,"trace_id":"2dd27eeed9d5779c6ce61d2dc873f96b","type":"external","action":"response","outcome":"success","parent_id":"fa843a58138e32ed","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"394e01ca8e83828e"}} +{"span":{"duration":49.74525,"id":"fa843a58138e32ed","name":"GET opbeans-ruby:3000","timestamp":1646055517476447,"trace_id":"2dd27eeed9d5779c6ce61d2dc873f96b","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"394e01ca8e83828e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"394e01ca8e83828e"}} +{"transaction":{"duration":50.230375,"id":"394e01ca8e83828e","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055517476207,"trace_id":"2dd27eeed9d5779c6ce61d2dc873f96b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-2dd27eeed9d5779c6ce61d2dc873f96b-555a15b83454a3cf-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-2dd27eeed9d5779c6ce61d2dc873f96b-555a15b83454a3cf-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Download-Options":"noopen","Etag":"W/\"37992d7e5d1df22332cd7c5be552ddce\"","X-Permitted-Cross-Domain-Policies":"none","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","X-Xss-Protection":"1; mode=block","Referrer-Policy":"strict-origin-when-cross-origin","Content-Type":"application/json; charset=utf-8","Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"45c0e39f-04ae-4c8b-8eb7-2a297bb2d1ad","X-Runtime":"0.027189"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"555a15b83454a3cf","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.23725,"id":"c4bb598eee1e3ad9","name":"DNS opbeans-node","timestamp":1646055517727200,"trace_id":"8d2b02aef7e84b3f006010b9aeed6139","type":"external","action":"dns","outcome":"success","parent_id":"91f91f36b5e2ac8b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4d7803fbcb31a8e0"}} +{"span":{"duration":0.199541,"id":"95ec06957fd711f0","name":"Connect 172.23.0.10:3000","timestamp":1646055517727441,"trace_id":"8d2b02aef7e84b3f006010b9aeed6139","type":"external","action":"connect","outcome":"success","parent_id":"91f91f36b5e2ac8b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4d7803fbcb31a8e0"}} +{"span":{"duration":0.518833,"id":"65611338b030025e","name":"SELECT FROM customers","timestamp":1646055517757302,"trace_id":"8d2b02aef7e84b3f006010b9aeed6139","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"fe6aa4dcca267778","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"fe6aa4dcca267778"}} +{"transaction":{"duration":0.7933330000000001,"id":"fe6aa4dcca267778","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055517757283,"trace_id":"8d2b02aef7e84b3f006010b9aeed6139","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/399","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/399"},"headers":{"Traceparent":"00-8d2b02aef7e84b3f006010b9aeed6139-2f36115394fdc492-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-8d2b02aef7e84b3f006010b9aeed6139-2f36115394fdc492-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"2f36115394fdc492","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":70.384458,"id":"e80f211c21012707","name":"Request","timestamp":1646055517727653,"trace_id":"8d2b02aef7e84b3f006010b9aeed6139","type":"external","action":"request","outcome":"success","parent_id":"91f91f36b5e2ac8b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4d7803fbcb31a8e0"}} +{"span":{"duration":0.10725,"id":"460da03a63e7303b","name":"Response","timestamp":1646055517798075,"trace_id":"8d2b02aef7e84b3f006010b9aeed6139","type":"external","action":"response","outcome":"success","parent_id":"91f91f36b5e2ac8b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4d7803fbcb31a8e0"}} +{"span":{"duration":71.024417,"id":"91f91f36b5e2ac8b","name":"GET opbeans-node:3000","timestamp":1646055517727159,"trace_id":"8d2b02aef7e84b3f006010b9aeed6139","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/399","status_code":200}},"outcome":"success","parent_id":"4d7803fbcb31a8e0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4d7803fbcb31a8e0"}} +{"transaction":{"duration":71.433291,"id":"4d7803fbcb31a8e0","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055517726900,"trace_id":"8d2b02aef7e84b3f006010b9aeed6139","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/399","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/399"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-8d2b02aef7e84b3f006010b9aeed6139-a5a87c0f58baa09b-01","Elastic-Apm-Traceparent":"00-8d2b02aef7e84b3f006010b9aeed6139-a5a87c0f58baa09b-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:38:37 GMT","Content-Length":"189","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a5a87c0f58baa09b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.309667,"id":"b5d6db23e53f3ef2","name":"DNS opbeans-python","timestamp":1646055518473181,"trace_id":"58075999c4686b440997afada00a5ba2","type":"external","action":"dns","outcome":"success","parent_id":"d234d99d6eed5c10","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4cdb1a33e96d336a"}} +{"span":{"duration":0.152458,"id":"ec05222bec3eeb55","name":"Connect 172.23.0.11:3000","timestamp":1646055518473495,"trace_id":"58075999c4686b440997afada00a5ba2","type":"external","action":"connect","outcome":"success","parent_id":"d234d99d6eed5c10","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4cdb1a33e96d336a"}} +{"span":{"duration":15.396917,"id":"4fe3011afa579fc5","name":"Request","timestamp":1646055518473658,"trace_id":"58075999c4686b440997afada00a5ba2","type":"external","action":"request","outcome":"success","parent_id":"d234d99d6eed5c10","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4cdb1a33e96d336a"}} +{"span":{"duration":0.305209,"id":"de5af31d7b084f57","name":"Response","timestamp":1646055518489078,"trace_id":"58075999c4686b440997afada00a5ba2","type":"external","action":"response","outcome":"success","parent_id":"d234d99d6eed5c10","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4cdb1a33e96d336a"}} +{"span":{"duration":16.230083,"id":"d234d99d6eed5c10","name":"GET opbeans-python:3000","timestamp":1646055518473154,"trace_id":"58075999c4686b440997afada00a5ba2","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers/221","status_code":200}},"outcome":"success","parent_id":"4cdb1a33e96d336a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4cdb1a33e96d336a"}} +{"transaction":{"duration":16.377584,"id":"4cdb1a33e96d336a","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055518473121,"trace_id":"58075999c4686b440997afada00a5ba2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/221","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/221"},"headers":{"Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.12","Accept-Encoding":"gzip","User-Agent":"http.rb/5.0.4","Elastic-Apm-Traceparent":"00-58075999c4686b440997afada00a5ba2-fbe18ab15ff3a9fd-01","Traceparent":"00-58075999c4686b440997afada00a5ba2-fbe18ab15ff3a9fd-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:38:38 GMT","X-Frame-Options":"DENY","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Content-Type":"application/json","Content-Length":"202"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"fbe18ab15ff3a9fd","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":17.4375,"id":"ff6715e839943c38","name":"Request","timestamp":1646055518473041,"trace_id":"58075999c4686b440997afada00a5ba2","type":"external","action":"request","outcome":"success","parent_id":"fbe18ab15ff3a9fd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"79baed2f4244d673"}} +{"span":{"duration":0.028584,"id":"327c859dc885ae9b","name":"Response","timestamp":1646055518490494,"trace_id":"58075999c4686b440997afada00a5ba2","type":"external","action":"response","outcome":"success","parent_id":"fbe18ab15ff3a9fd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"79baed2f4244d673"}} +{"span":{"duration":17.504833,"id":"fbe18ab15ff3a9fd","name":"GET opbeans-go:3000","timestamp":1646055518473018,"trace_id":"58075999c4686b440997afada00a5ba2","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/221","status_code":200}},"outcome":"success","parent_id":"79baed2f4244d673","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"79baed2f4244d673"}} +{"transaction":{"duration":17.839209,"id":"79baed2f4244d673","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055518472953,"trace_id":"58075999c4686b440997afada00a5ba2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/221","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/221"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-58075999c4686b440997afada00a5ba2-2f0e4f46e9b78bee-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-58075999c4686b440997afada00a5ba2-2f0e4f46e9b78bee-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"202","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:38:38 GMT","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"2f0e4f46e9b78bee","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.496458,"id":"d61e76557c1ecf8d","name":"SELECT FROM products","timestamp":1646055518698163,"trace_id":"8711b3d527e40c967c878f0df96a5403","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5a28ba7c02328611","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5a28ba7c02328611"}} +{"transaction":{"duration":1.72775,"id":"5a28ba7c02328611","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055518698133,"trace_id":"8711b3d527e40c967c878f0df96a5403","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Traceparent":"00-8711b3d527e40c967c878f0df96a5403-030ac2c59b1ad3fa-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-8711b3d527e40c967c878f0df96a5403-030ac2c59b1ad3fa-01","Connection":"close","User-Agent":"http.rb/5.0.4"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"030ac2c59b1ad3fa","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.358,"id":"cbf4cdaf4e548f06","name":"DNS opbeans-node","timestamp":1646055518914157,"trace_id":"7645c73077c62235c327f2711c7e9ada","type":"external","action":"dns","outcome":"success","parent_id":"eeee60ffc26d13b4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d62d09326cf6dcbb"}} +{"span":{"duration":2.462583,"id":"496867a4dd63f59c","name":"Connect 172.23.0.10:3000","timestamp":1646055518914521,"trace_id":"7645c73077c62235c327f2711c7e9ada","type":"external","action":"connect","outcome":"success","parent_id":"eeee60ffc26d13b4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d62d09326cf6dcbb"}} +{"span":{"duration":81.244708,"id":"eb7aced3a79a5417","name":"Request","timestamp":1646055518917017,"trace_id":"7645c73077c62235c327f2711c7e9ada","type":"external","action":"request","outcome":"success","parent_id":"eeee60ffc26d13b4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d62d09326cf6dcbb"}} +{"span":{"duration":0.08354199999999999,"id":"323e5a8c83bd24bc","name":"Response","timestamp":1646055518998292,"trace_id":"7645c73077c62235c327f2711c7e9ada","type":"external","action":"response","outcome":"success","parent_id":"eeee60ffc26d13b4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d62d09326cf6dcbb"}} +{"span":{"duration":84.272209,"id":"eeee60ffc26d13b4","name":"GET opbeans-node:3000","timestamp":1646055518914104,"trace_id":"7645c73077c62235c327f2711c7e9ada","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/1","status_code":200}},"outcome":"success","parent_id":"d62d09326cf6dcbb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d62d09326cf6dcbb"}} +{"transaction":{"duration":84.65425,"id":"d62d09326cf6dcbb","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055518913854,"trace_id":"7645c73077c62235c327f2711c7e9ada","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-7645c73077c62235c327f2711c7e9ada-06ce0b52ce2d841e-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-7645c73077c62235c327f2711c7e9ada-06ce0b52ce2d841e-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"217","Etag":"W/\"d9-cebOOHODBQMZd1wt+ZZBaSPgQLQ\"","Date":"Mon, 28 Feb 2022 13:38:38 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"06ce0b52ce2d841e","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5155,"id":"5ca085bd3387f567","name":"DNS opbeans-python","timestamp":1646055519335740,"trace_id":"6b6ef5c9d542ea2ad14a65f2e9daa645","type":"external","action":"dns","outcome":"success","parent_id":"14538c53087bb0da","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"abd1fac76440b486"}} +{"span":{"duration":0.23208399999999998,"id":"c5cb445a28445bec","name":"Connect 172.23.0.11:3000","timestamp":1646055519336260,"trace_id":"6b6ef5c9d542ea2ad14a65f2e9daa645","type":"external","action":"connect","outcome":"success","parent_id":"14538c53087bb0da","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"abd1fac76440b486"}} +{"span":{"duration":1.3735,"id":"e6e2e99f7ac2f2ee","name":"SELECT FROM orders","timestamp":1646055519811518,"trace_id":"5d43f089755480e14be70fc2f7b52be3","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5d43f089755480e1","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5d43f089755480e1"}} +{"transaction":{"duration":3.476416,"id":"5d43f089755480e1","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055519811492,"trace_id":"5d43f089755480e14be70fc2f7b52be3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.232,"id":"3d05772810c1a6cf","name":"SELECT FROM customers","timestamp":1646055519997116,"trace_id":"221874a12688764a99dd1732416b7baa","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1b8b6a37d9ba2687","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1b8b6a37d9ba2687"}} +{"transaction":{"duration":2.1127920000000002,"id":"1b8b6a37d9ba2687","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055519997093,"trace_id":"221874a12688764a99dd1732416b7baa","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Connection":"keep-alive","Traceparent":"00-221874a12688764a99dd1732416b7baa-d9926a5ea6a3828f-01","Elastic-Apm-Traceparent":"00-221874a12688764a99dd1732416b7baa-d9926a5ea6a3828f-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d9926a5ea6a3828f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":669.971542,"id":"cdc4663a2b81c282","name":"Request","timestamp":1646055519336527,"trace_id":"6b6ef5c9d542ea2ad14a65f2e9daa645","type":"external","action":"request","outcome":"success","parent_id":"14538c53087bb0da","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"abd1fac76440b486"}} +{"span":{"duration":13.144708,"id":"23b60a4e63a31b46","name":"Response","timestamp":1646055520006677,"trace_id":"6b6ef5c9d542ea2ad14a65f2e9daa645","type":"external","action":"response","outcome":"success","parent_id":"14538c53087bb0da","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"abd1fac76440b486"}} +{"span":{"duration":684.201459,"id":"14538c53087bb0da","name":"GET opbeans-python:3000","timestamp":1646055519335675,"trace_id":"6b6ef5c9d542ea2ad14a65f2e9daa645","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"abd1fac76440b486","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"abd1fac76440b486"}} +{"transaction":{"duration":684.60425,"id":"abd1fac76440b486","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055519335506,"trace_id":"6b6ef5c9d542ea2ad14a65f2e9daa645","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-6b6ef5c9d542ea2ad14a65f2e9daa645-194965a439be24ac-01","Elastic-Apm-Traceparent":"00-6b6ef5c9d542ea2ad14a65f2e9daa645-194965a439be24ac-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Referrer-Policy":"same-origin","Server":"gunicorn","X-Frame-Options":"DENY","Content-Length":"117","Vary":"Cookie","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:38:40 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"194965a439be24ac","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.863541,"id":"c0e2d5a589bdb094","name":"SELECT FROM customers","timestamp":1646055520516906,"trace_id":"9c9d7e260d5fad29f1865a2b20c9a733","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3e86d2499cfeac0a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3e86d2499cfeac0a"}} +{"transaction":{"duration":2.686958,"id":"3e86d2499cfeac0a","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055520516880,"trace_id":"9c9d7e260d5fad29f1865a2b20c9a733","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-9c9d7e260d5fad29f1865a2b20c9a733-db4143a1e0343793-01","Elastic-Apm-Traceparent":"00-9c9d7e260d5fad29f1865a2b20c9a733-db4143a1e0343793-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"db4143a1e0343793","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.555458,"id":"e835ecf19ab12397","name":"DNS opbeans-python","timestamp":1646055520992471,"trace_id":"ab82c349e7407f8e06db0ac71bcda40a","type":"external","action":"dns","outcome":"success","parent_id":"5c528fd12fa2f8e6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"07cc2c837d27f52b"}} +{"span":{"duration":0.11524999999999999,"id":"7204963ea0d3bc8b","name":"Connect 172.23.0.11:3000","timestamp":1646055520993031,"trace_id":"ab82c349e7407f8e06db0ac71bcda40a","type":"external","action":"connect","outcome":"success","parent_id":"5c528fd12fa2f8e6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"07cc2c837d27f52b"}} +{"span":{"duration":80.17391599999999,"id":"396468335bd82462","name":"Request","timestamp":1646055520993161,"trace_id":"ab82c349e7407f8e06db0ac71bcda40a","type":"external","action":"request","outcome":"success","parent_id":"5c528fd12fa2f8e6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"07cc2c837d27f52b"}} +{"span":{"duration":0.12062500000000001,"id":"c736f9ed8f76e84f","name":"Response","timestamp":1646055521073361,"trace_id":"ab82c349e7407f8e06db0ac71bcda40a","type":"external","action":"response","outcome":"success","parent_id":"5c528fd12fa2f8e6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"07cc2c837d27f52b"}} +{"span":{"duration":81.069333,"id":"5c528fd12fa2f8e6","name":"GET opbeans-python:3000","timestamp":1646055520992413,"trace_id":"ab82c349e7407f8e06db0ac71bcda40a","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"07cc2c837d27f52b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"07cc2c837d27f52b"}} +{"transaction":{"duration":81.397083,"id":"07cc2c837d27f52b","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055520992337,"trace_id":"ab82c349e7407f8e06db0ac71bcda40a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Connection":"close","Traceparent":"00-ab82c349e7407f8e06db0ac71bcda40a-acf00d62a0c6b681-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-ab82c349e7407f8e06db0ac71bcda40a-acf00d62a0c6b681-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Vary":"Cookie","Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"309","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:38:41 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"acf00d62a0c6b681","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":74.391,"id":"9fb99b72ba2d2bfc","name":"Request","timestamp":1646055521223396,"trace_id":"50d29d94586a5e13054bfa0fdc8d1ce4","type":"external","action":"request","outcome":"success","parent_id":"ce1eec01548223db","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"06b9da95a401a46c"}} +{"span":{"duration":0.20333400000000001,"id":"aad98e5693fa5c04","name":"Response","timestamp":1646055521297811,"trace_id":"50d29d94586a5e13054bfa0fdc8d1ce4","type":"external","action":"response","outcome":"success","parent_id":"ce1eec01548223db","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"06b9da95a401a46c"}} +{"span":{"duration":74.640833,"id":"ce1eec01548223db","name":"GET opbeans-node:3000","timestamp":1646055521223374,"trace_id":"50d29d94586a5e13054bfa0fdc8d1ce4","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"06b9da95a401a46c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"06b9da95a401a46c"}} +{"transaction":{"duration":74.863,"id":"06b9da95a401a46c","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055521223275,"trace_id":"50d29d94586a5e13054bfa0fdc8d1ce4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-50d29d94586a5e13054bfa0fdc8d1ce4-93d9b3752dd8965d-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-50d29d94586a5e13054bfa0fdc8d1ce4-93d9b3752dd8965d-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Runtime":"0.033396","X-Content-Type-Options":"nosniff","Cache-Control":"max-age=0, private, must-revalidate","X-Powered-By":"Express","X-Download-Options":"noopen","X-Request-Id":"b2bbe5c4-12be-4b0a-9ce5-872499b62127","Date":"Mon, 28 Feb 2022 13:38:41 GMT","Referrer-Policy":"strict-origin-when-cross-origin","Content-Type":"application/json; charset=utf-8","X-Xss-Protection":"1; mode=block","Etag":"W/\"6b84b8cfae4908f93f790804f2c9e7c9\"","X-Frame-Options":"SAMEORIGIN","X-Permitted-Cross-Domain-Policies":"none"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"93d9b3752dd8965d","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.7735,"id":"5f4ba331393aa24b","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055521339174,"trace_id":"174cc6d4c353b08ed0f7559bee0d15be","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-174cc6d4c353b08ed0f7559bee0d15be-a822ed07a030b88c-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-174cc6d4c353b08ed0f7559bee0d15be-a822ed07a030b88c-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"a822ed07a030b88c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.613417,"id":"ae54c41413b52cb7","name":"DNS opbeans-python","timestamp":1646055521501304,"trace_id":"99cb842970d61ba3e69e274e42fde9b2","type":"external","action":"dns","outcome":"success","parent_id":"3343e4b83a87d764","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6de5d23ac18203b8"}} +{"span":{"duration":0.100792,"id":"f462b6aae5ab083c","name":"Connect 172.23.0.11:3000","timestamp":1646055521501923,"trace_id":"99cb842970d61ba3e69e274e42fde9b2","type":"external","action":"connect","outcome":"success","parent_id":"3343e4b83a87d764","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6de5d23ac18203b8"}} +{"span":{"duration":74.524416,"id":"389d7e700945e72c","name":"Request","timestamp":1646055521502039,"trace_id":"99cb842970d61ba3e69e274e42fde9b2","type":"external","action":"request","outcome":"success","parent_id":"3343e4b83a87d764","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6de5d23ac18203b8"}} +{"span":{"duration":0.24354199999999998,"id":"3337ca6bc6195457","name":"Response","timestamp":1646055521576590,"trace_id":"99cb842970d61ba3e69e274e42fde9b2","type":"external","action":"response","outcome":"success","parent_id":"3343e4b83a87d764","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6de5d23ac18203b8"}} +{"span":{"duration":75.596334,"id":"3343e4b83a87d764","name":"GET opbeans-python:3000","timestamp":1646055521501238,"trace_id":"99cb842970d61ba3e69e274e42fde9b2","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/137","status_code":200}},"outcome":"success","parent_id":"6de5d23ac18203b8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6de5d23ac18203b8"}} +{"transaction":{"duration":76.123625,"id":"6de5d23ac18203b8","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055521501024,"trace_id":"99cb842970d61ba3e69e274e42fde9b2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/137","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/137"},"headers":{"Traceparent":"00-99cb842970d61ba3e69e274e42fde9b2-3684858e48f04fc8-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-99cb842970d61ba3e69e274e42fde9b2-3684858e48f04fc8-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:38:41 GMT","X-Frame-Options":"DENY","Server":"gunicorn","Content-Type":"application/json","Content-Length":"311","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"3684858e48f04fc8","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.37575,"id":"6362072945f121e3","name":"DNS opbeans-node","timestamp":1646055521796414,"trace_id":"5b259030edd861168e1b197707dca34a","type":"external","action":"dns","outcome":"success","parent_id":"e046a4e23bd0295c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6ff5cec1499294fe"}} +{"span":{"duration":0.064417,"id":"7301d21867a0e96f","name":"Connect 172.23.0.10:3000","timestamp":1646055521796794,"trace_id":"5b259030edd861168e1b197707dca34a","type":"external","action":"connect","outcome":"success","parent_id":"e046a4e23bd0295c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6ff5cec1499294fe"}} +{"span":{"duration":56.774791,"id":"c9c5b556ee555ab5","name":"Request","timestamp":1646055521796872,"trace_id":"5b259030edd861168e1b197707dca34a","type":"external","action":"request","outcome":"success","parent_id":"e046a4e23bd0295c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6ff5cec1499294fe"}} +{"span":{"duration":0.129875,"id":"e5457cda1dbfbfa4","name":"Response","timestamp":1646055521853706,"trace_id":"5b259030edd861168e1b197707dca34a","type":"external","action":"response","outcome":"success","parent_id":"e046a4e23bd0295c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6ff5cec1499294fe"}} +{"span":{"duration":57.543708,"id":"e046a4e23bd0295c","name":"GET opbeans-node:3000","timestamp":1646055521796294,"trace_id":"5b259030edd861168e1b197707dca34a","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products","status_code":200}},"outcome":"success","parent_id":"6ff5cec1499294fe","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6ff5cec1499294fe"}} +{"transaction":{"duration":58.285834,"id":"6ff5cec1499294fe","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055521796208,"trace_id":"5b259030edd861168e1b197707dca34a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Traceparent":"00-5b259030edd861168e1b197707dca34a-227e2ca5ea976e2e-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-5b259030edd861168e1b197707dca34a-227e2ca5ea976e2e-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"1023","Etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","Date":"Mon, 28 Feb 2022 13:38:41 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"227e2ca5ea976e2e","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.62225,"id":"4160bff6c65a9d66","name":"DNS opbeans-python","timestamp":1646055521896155,"trace_id":"c642b12a5436af1dfeb8625121b28fd0","type":"external","action":"dns","outcome":"success","parent_id":"4e9295a39faf2499","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"368ad8f6c27874c2"}} +{"span":{"duration":0.358958,"id":"ed72d4a97f51d3ef","name":"Connect 172.23.0.11:3000","timestamp":1646055521896824,"trace_id":"c642b12a5436af1dfeb8625121b28fd0","type":"external","action":"connect","outcome":"success","parent_id":"4e9295a39faf2499","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"368ad8f6c27874c2"}} +{"span":{"duration":0.5762919999999999,"id":"78909c3991a8b145","name":"DNS opbeans-python","timestamp":1646055521966687,"trace_id":"c642b12a5436af1dfeb8625121b28fd0","type":"external","action":"dns","outcome":"success","parent_id":"eb122bbb45af7078","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"66dae25354a72505"}} +{"span":{"duration":0.12000000000000001,"id":"9733681da9a890fc","name":"Connect 172.23.0.11:3000","timestamp":1646055521967269,"trace_id":"c642b12a5436af1dfeb8625121b28fd0","type":"external","action":"connect","outcome":"success","parent_id":"eb122bbb45af7078","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"66dae25354a72505"}} +{"span":{"duration":61.62870899999999,"id":"7f9b227d59d3cf57","name":"Request","timestamp":1646055521967401,"trace_id":"c642b12a5436af1dfeb8625121b28fd0","type":"external","action":"request","outcome":"success","parent_id":"eb122bbb45af7078","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"66dae25354a72505"}} +{"span":{"duration":0.119041,"id":"fbce7608628fb49f","name":"Response","timestamp":1646055522029056,"trace_id":"c642b12a5436af1dfeb8625121b28fd0","type":"external","action":"response","outcome":"success","parent_id":"eb122bbb45af7078","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"66dae25354a72505"}} +{"span":{"duration":62.71124999999999,"id":"eb122bbb45af7078","name":"GET opbeans-python:3000","timestamp":1646055521966464,"trace_id":"c642b12a5436af1dfeb8625121b28fd0","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"66dae25354a72505","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"66dae25354a72505"}} +{"transaction":{"duration":64.550042,"id":"66dae25354a72505","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055521964719,"trace_id":"c642b12a5436af1dfeb8625121b28fd0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-c642b12a5436af1dfeb8625121b28fd0-a7c76bf7398d3c11-01","Connection":"close","Traceparent":"00-c642b12a5436af1dfeb8625121b28fd0-a7c76bf7398d3c11-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Server":"gunicorn","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:38:42 GMT","Content-Type":"application/json","Content-Length":"309","Vary":"Cookie","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a7c76bf7398d3c11","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":153.736167,"id":"5f661942fb15f047","name":"Request","timestamp":1646055521897206,"trace_id":"c642b12a5436af1dfeb8625121b28fd0","type":"external","action":"request","outcome":"success","parent_id":"4e9295a39faf2499","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"368ad8f6c27874c2"}} +{"span":{"duration":4.859042,"id":"cef9a70e9ad62860","name":"Response","timestamp":1646055522050971,"trace_id":"c642b12a5436af1dfeb8625121b28fd0","type":"external","action":"response","outcome":"success","parent_id":"4e9295a39faf2499","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"368ad8f6c27874c2"}} +{"span":{"duration":159.72545899999997,"id":"4e9295a39faf2499","name":"GET opbeans-python:3000","timestamp":1646055521896108,"trace_id":"c642b12a5436af1dfeb8625121b28fd0","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"368ad8f6c27874c2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"368ad8f6c27874c2"}} +{"transaction":{"duration":159.939583,"id":"368ad8f6c27874c2","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055521896036,"trace_id":"c642b12a5436af1dfeb8625121b28fd0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Elastic-Apm-Traceparent":"00-c642b12a5436af1dfeb8625121b28fd0-6549397bfbef017b-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-c642b12a5436af1dfeb8625121b28fd0-6549397bfbef017b-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Server":"gunicorn","Content-Length":"309","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:38:42 GMT","X-Frame-Options":"DENY","Content-Type":"application/json","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6549397bfbef017b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.42174999999999996,"id":"9ca3f7c5f98db473","name":"SELECT FROM product_types","timestamp":1646055522368053,"trace_id":"da2d45c8f97fc2b47bf42d09b1a6312c","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"30fb157602999b08","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"30fb157602999b08"}} +{"transaction":{"duration":0.617,"id":"30fb157602999b08","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055522368022,"trace_id":"da2d45c8f97fc2b47bf42d09b1a6312c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-da2d45c8f97fc2b47bf42d09b1a6312c-d355ac786ecba74c-01","Elastic-Apm-Traceparent":"00-da2d45c8f97fc2b47bf42d09b1a6312c-d355ac786ecba74c-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d355ac786ecba74c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":6321.882336,"id":"c30b4e3e8f20ce7d","name":"Request","timestamp":1646055516206006,"trace_id":"22e5413c28c0577fc578639315b8b7f5","type":"external","action":"request","outcome":"success","parent_id":"766892fa6cd92a20","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"22e5413c28c0577f"}} +{"span":{"duration":0.316583,"id":"e5b8d6594f116555","name":"Response","timestamp":1646055522527932,"trace_id":"22e5413c28c0577fc578639315b8b7f5","type":"external","action":"response","outcome":"success","parent_id":"766892fa6cd92a20","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"22e5413c28c0577f"}} +{"span":{"duration":6322.868253000001,"id":"766892fa6cd92a20","name":"GET opbeans-python:3000","timestamp":1646055516205382,"trace_id":"22e5413c28c0577fc578639315b8b7f5","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"22e5413c28c0577f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"22e5413c28c0577f"}} +{"transaction":{"duration":6323.316628,"id":"22e5413c28c0577f","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055516205053,"trace_id":"22e5413c28c0577fc578639315b8b7f5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","Content-Length":"108580","X-Content-Type-Options":"nosniff","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:38:42 GMT","Vary":"Cookie","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.2557079999999998,"id":"f15a59c27bbf336b","name":"SELECT FROM customers","timestamp":1646055522553458,"trace_id":"25c34ef7f1eff17585d7005879c5b14f","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"25c34ef7f1eff175","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"25c34ef7f1eff175"}} +{"transaction":{"duration":2.627792,"id":"25c34ef7f1eff175","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055522553428,"trace_id":"25c34ef7f1eff17585d7005879c5b14f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","search":"limit=80","full":"http://opbeans-go:3000/api/products/6/customers?limit=80"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.210041,"id":"fe4d0a9c63060376","name":"SELECT FROM product_types","timestamp":1646055522574660,"trace_id":"ace84b8fc53ea9db11ad5dc41b7e8ed5","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ace84b8fc53ea9db","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ace84b8fc53ea9db"}} +{"transaction":{"duration":0.333542,"id":"ace84b8fc53ea9db","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055522574645,"trace_id":"ace84b8fc53ea9db11ad5dc41b7e8ed5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.631792,"id":"42ad71538325cd9a","name":"SELECT FROM products","timestamp":1646055522594095,"trace_id":"fee096c9b205b95a8f0c4e079c461043","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"fee096c9b205b95a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"fee096c9b205b95a"}} +{"transaction":{"duration":0.9011250000000001,"id":"fee096c9b205b95a","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055522594054,"trace_id":"fee096c9b205b95a8f0c4e079c461043","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.301959,"id":"264add0390760650","name":"DNS opbeans-python","timestamp":1646055522624853,"trace_id":"723c6bd8bf2cdc91d20dc3713952bec2","type":"external","action":"dns","outcome":"success","parent_id":"a6d27e5f959baf89","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"723c6bd8bf2cdc91"}} +{"span":{"duration":0.138042,"id":"1b4f8b768f5ee3e8","name":"Connect 172.23.0.11:3000","timestamp":1646055522625158,"trace_id":"723c6bd8bf2cdc91d20dc3713952bec2","type":"external","action":"connect","outcome":"success","parent_id":"a6d27e5f959baf89","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"723c6bd8bf2cdc91"}} +{"span":{"duration":0.929291,"id":"4688aaa6a03783d9","name":"SELECT FROM customers","timestamp":1646055522676872,"trace_id":"723c6bd8bf2cdc91d20dc3713952bec2","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f1e02236738f800c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f1e02236738f800c"}} +{"transaction":{"duration":2.315916,"id":"f1e02236738f800c","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055522676842,"trace_id":"723c6bd8bf2cdc91d20dc3713952bec2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"Traceparent":"00-723c6bd8bf2cdc91d20dc3713952bec2-c9f2be5203b9e161-01","Elastic-Apm-Traceparent":"00-723c6bd8bf2cdc91d20dc3713952bec2-c9f2be5203b9e161-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c9f2be5203b9e161","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":72.90595800000001,"id":"8aef9e9253de6393","name":"Request","timestamp":1646055522625307,"trace_id":"723c6bd8bf2cdc91d20dc3713952bec2","type":"external","action":"request","outcome":"success","parent_id":"a6d27e5f959baf89","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"723c6bd8bf2cdc91"}} +{"span":{"duration":3.151125,"id":"d46897a327f2c207","name":"Response","timestamp":1646055522698253,"trace_id":"723c6bd8bf2cdc91d20dc3713952bec2","type":"external","action":"response","outcome":"success","parent_id":"a6d27e5f959baf89","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"723c6bd8bf2cdc91"}} +{"span":{"duration":76.599416,"id":"a6d27e5f959baf89","name":"GET opbeans-python:3000","timestamp":1646055522624808,"trace_id":"723c6bd8bf2cdc91d20dc3713952bec2","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/2/customers","status_code":200}},"outcome":"success","parent_id":"723c6bd8bf2cdc91","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"723c6bd8bf2cdc91"}} +{"transaction":{"duration":77.00966700000001,"id":"723c6bd8bf2cdc91","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055522624485,"trace_id":"723c6bd8bf2cdc91d20dc3713952bec2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:38:42 GMT","Vary":"Cookie","Content-Type":"application/json; charset=utf-8","Content-Length":"110745","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.289667,"id":"da00d748fb171bcd","name":"SELECT FROM product_types","timestamp":1646055522718676,"trace_id":"7c95cc766d4934a4c07bc7f9b8f0b5a5","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7c95cc766d4934a4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7c95cc766d4934a4"}} +{"transaction":{"duration":0.433041,"id":"7c95cc766d4934a4","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055522718647,"trace_id":"7c95cc766d4934a4c07bc7f9b8f0b5a5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.3741249999999998,"id":"da7a4c325e144d38","name":"SELECT FROM products","timestamp":1646055522737190,"trace_id":"62a175dc93306d6759b4c05f870391db","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"62a175dc93306d67","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"62a175dc93306d67"}} +{"transaction":{"duration":1.519333,"id":"62a175dc93306d67","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055522737171,"trace_id":"62a175dc93306d6759b4c05f870391db","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.8947079999999998,"id":"32c24a702b822578","name":"SELECT FROM orders","timestamp":1646055522759135,"trace_id":"5a4b21f731a55d7dc613890ce5a6929e","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5a4b21f731a55d7d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5a4b21f731a55d7d"}} +{"transaction":{"duration":7.598625,"id":"5a4b21f731a55d7d","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055522759113,"trace_id":"5a4b21f731a55d7dc613890ce5a6929e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.9840420000000001,"id":"d392131d60fa6918","name":"SELECT FROM customers","timestamp":1646055522783291,"trace_id":"f651f960e4ecd52aa3166ee5ccbf8158","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f651f960e4ecd52a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f651f960e4ecd52a"}} +{"transaction":{"duration":2.691792,"id":"f651f960e4ecd52a","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055522783269,"trace_id":"f651f960e4ecd52aa3166ee5ccbf8158","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=50","full":"http://opbeans-go:3000/api/products/5/customers?limit=50"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.284958,"id":"e729d62bb6cd2c3f","name":"SELECT FROM products","timestamp":1646055522807030,"trace_id":"71180136db479fd343f1469d31d1d90f","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"71180136db479fd3","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"71180136db479fd3"}} +{"transaction":{"duration":1.699625,"id":"71180136db479fd3","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055522807011,"trace_id":"71180136db479fd343f1469d31d1d90f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":26.655458,"id":"6110d10f8a8de2f9","name":"Request","timestamp":1646055522828056,"trace_id":"bdbb0ef1b96a759b4739dc3340e7dff0","type":"external","action":"request","outcome":"success","parent_id":"f1564b474b1d5ecf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bdbb0ef1b96a759b"}} +{"span":{"duration":0.384667,"id":"c6e380eb3b94be41","name":"Response","timestamp":1646055522854760,"trace_id":"bdbb0ef1b96a759b4739dc3340e7dff0","type":"external","action":"response","outcome":"success","parent_id":"f1564b474b1d5ecf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bdbb0ef1b96a759b"}} +{"span":{"duration":27.134083999999998,"id":"f1564b474b1d5ecf","name":"GET opbeans-ruby:3000","timestamp":1646055522828034,"trace_id":"bdbb0ef1b96a759b4739dc3340e7dff0","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types/1","status_code":200}},"outcome":"success","parent_id":"bdbb0ef1b96a759b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bdbb0ef1b96a759b"}} +{"transaction":{"duration":27.796709,"id":"bdbb0ef1b96a759b","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055522827948,"trace_id":"bdbb0ef1b96a759b4739dc3340e7dff0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","X-Frame-Options":"SAMEORIGIN","X-Permitted-Cross-Domain-Policies":"none","X-Xss-Protection":"1; mode=block","Cache-Control":"max-age=0, private, must-revalidate","Vary":"Accept","Etag":"W/\"658ac86b5b65e3d6724bd91007f7bcdd\"","Referrer-Policy":"strict-origin-when-cross-origin","X-Request-Id":"45746e50-3269-4665-ad40-18b972d98cf1","X-Runtime":"0.016068","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.9470000000000001,"id":"970e19cae15d9e38","name":"SELECT FROM products","timestamp":1646055522870985,"trace_id":"6712d6d3674a2686ada2f0e020edde8c","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"dab365337acfcbe0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"dab365337acfcbe0"}} +{"transaction":{"duration":1.1035000000000001,"id":"dab365337acfcbe0","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055522870940,"trace_id":"6712d6d3674a2686ada2f0e020edde8c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-6712d6d3674a2686ada2f0e020edde8c-dd0124a9142e45d7-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-6712d6d3674a2686ada2f0e020edde8c-dd0124a9142e45d7-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"dd0124a9142e45d7","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.174875,"id":"cbe4928e0edbfe36","name":"SELECT FROM product_types","timestamp":1646055522881391,"trace_id":"466e75bd126c61f64845b334c48a6ddd","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"466e75bd126c61f6","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"466e75bd126c61f6"}} +{"transaction":{"duration":0.301834,"id":"466e75bd126c61f6","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055522881375,"trace_id":"466e75bd126c61f64845b334c48a6ddd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":25.484042,"id":"e7c197c981807ba3","name":"Request","timestamp":1646055522860707,"trace_id":"6712d6d3674a2686ada2f0e020edde8c","type":"external","action":"request","outcome":"success","parent_id":"a4d07380f3740bdd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4f227c5d8572b033"}} +{"span":{"duration":0.146959,"id":"5b3589089ba0d197","name":"Response","timestamp":1646055522886223,"trace_id":"6712d6d3674a2686ada2f0e020edde8c","type":"external","action":"response","outcome":"success","parent_id":"a4d07380f3740bdd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4f227c5d8572b033"}} +{"span":{"duration":25.86125,"id":"a4d07380f3740bdd","name":"GET opbeans-ruby:3000","timestamp":1646055522860510,"trace_id":"6712d6d3674a2686ada2f0e020edde8c","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/1","status_code":200}},"outcome":"success","parent_id":"4f227c5d8572b033","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4f227c5d8572b033"}} +{"transaction":{"duration":26.087583000000002,"id":"4f227c5d8572b033","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055522860397,"trace_id":"6712d6d3674a2686ada2f0e020edde8c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1"},"headers":{"Connection":"keep-alive","Traceparent":"00-6712d6d3674a2686ada2f0e020edde8c-be27b6acc20a7782-01","Elastic-Apm-Traceparent":"00-6712d6d3674a2686ada2f0e020edde8c-be27b6acc20a7782-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"be27b6acc20a7782","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.416958,"id":"565fabac49c953c0","name":"SELECT FROM products","timestamp":1646055522900415,"trace_id":"9213e6317cd5acaf436db313e1d9e867","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9213e6317cd5acaf","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9213e6317cd5acaf"}} +{"transaction":{"duration":0.5706659999999999,"id":"9213e6317cd5acaf","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055522900395,"trace_id":"9213e6317cd5acaf436db313e1d9e867","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":90.760875,"id":"5e5e18de660066dd","name":"Request","timestamp":1646055522919200,"trace_id":"8cd0bae491e8391eb872d268656835ba","type":"external","action":"request","outcome":"success","parent_id":"117e64cbdad45cf0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8cd0bae491e8391e"}} +{"span":{"duration":0.179292,"id":"a4a12efefea2bc81","name":"Response","timestamp":1646055523009987,"trace_id":"8cd0bae491e8391eb872d268656835ba","type":"external","action":"response","outcome":"success","parent_id":"117e64cbdad45cf0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8cd0bae491e8391e"}} +{"span":{"duration":90.98775,"id":"117e64cbdad45cf0","name":"GET opbeans-node:3000","timestamp":1646055522919180,"trace_id":"8cd0bae491e8391eb872d268656835ba","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"8cd0bae491e8391e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8cd0bae491e8391e"}} +{"transaction":{"duration":91.17975,"id":"8cd0bae491e8391e","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055522919115,"trace_id":"8cd0bae491e8391eb872d268656835ba","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:38:43 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":30.776417000000002,"id":"75fe4d19ee8bf871","name":"Request","timestamp":1646055523035726,"trace_id":"b68e2f6b689278121466f747f7dd62bb","type":"external","action":"request","outcome":"success","parent_id":"fcdb512f86864d83","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b68e2f6b68927812"}} +{"span":{"duration":15.633000000000001,"id":"ce95b0ce62ee415a","name":"Response","timestamp":1646055523066527,"trace_id":"b68e2f6b689278121466f747f7dd62bb","type":"external","action":"response","outcome":"success","parent_id":"fcdb512f86864d83","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b68e2f6b68927812"}} +{"span":{"duration":46.504999999999995,"id":"fcdb512f86864d83","name":"GET opbeans-ruby:3000","timestamp":1646055523035698,"trace_id":"b68e2f6b689278121466f747f7dd62bb","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/726","status_code":404}},"outcome":"failure","parent_id":"b68e2f6b68927812","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b68e2f6b68927812"}} +{"transaction":{"duration":48.366167000000004,"id":"b68e2f6b68927812","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055523033922,"trace_id":"b68e2f6b689278121466f747f7dd62bb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/726","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/726"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=UTF-8","X-Request-Id":"94c6b3d7-3874-48f6-a02e-cee47ea2b6b3","X-Runtime":"0.025089","Content-Length":"1722"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.5779580000000001,"id":"fe9e3e7035c066fc","name":"SELECT FROM orders","timestamp":1646055523106319,"trace_id":"55ab100cc43c349ac775f9b84d3b53fa","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"55ab100cc43c349a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"55ab100cc43c349a"}} +{"transaction":{"duration":2.208875,"id":"55ab100cc43c349a","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055523106302,"trace_id":"55ab100cc43c349ac775f9b84d3b53fa","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.8517089999999999,"id":"58d7d1b58bccd037","name":"SELECT FROM orders","timestamp":1646055523128671,"trace_id":"9e0937be16a5545a7bb2ac91c4ffcd23","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9e0937be16a5545a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9e0937be16a5545a"}} +{"transaction":{"duration":2.986125,"id":"9e0937be16a5545a","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055523128656,"trace_id":"9e0937be16a5545a7bb2ac91c4ffcd23","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.437375,"id":"26ee98297b4bcb7c","name":"SELECT FROM products","timestamp":1646055523155251,"trace_id":"087127939deb4a00befafa5e10e44186","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"087127939deb4a00","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"087127939deb4a00"}} +{"transaction":{"duration":1.711458,"id":"087127939deb4a00","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055523155236,"trace_id":"087127939deb4a00befafa5e10e44186","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":3.2881669999999996,"id":"13101edaafaeecfe","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055523179119,"trace_id":"13101edaafaeecfe4b7cb28e61ac4e3a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.625834,"id":"6be5d024bf5fbbcf","name":"DNS opbeans-node","timestamp":1646055523191090,"trace_id":"490d3e795f0b2f33fbfdced3d4e24f9b","type":"external","action":"dns","outcome":"success","parent_id":"ffd5dc26b8916806","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6923a85419f1caa5"}} +{"span":{"duration":0.132041,"id":"fc908eb4179d349f","name":"Connect 172.23.0.10:3000","timestamp":1646055523191721,"trace_id":"490d3e795f0b2f33fbfdced3d4e24f9b","type":"external","action":"connect","outcome":"success","parent_id":"ffd5dc26b8916806","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6923a85419f1caa5"}} +{"span":{"duration":0.859833,"id":"c8f07c5a33791167","name":"SELECT FROM customers","timestamp":1646055523206175,"trace_id":"395f3ae9c229aa71c1728309c8293886","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"395f3ae9c229aa71","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"395f3ae9c229aa71"}} +{"transaction":{"duration":2.795666,"id":"395f3ae9c229aa71","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055523206155,"trace_id":"395f3ae9c229aa71c1728309c8293886","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":24.239834,"id":"f13e3f5ca610b761","name":"Request","timestamp":1646055523191870,"trace_id":"490d3e795f0b2f33fbfdced3d4e24f9b","type":"external","action":"request","outcome":"success","parent_id":"ffd5dc26b8916806","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6923a85419f1caa5"}} +{"span":{"duration":0.775833,"id":"246264b235ec5262","name":"Response","timestamp":1646055523216211,"trace_id":"490d3e795f0b2f33fbfdced3d4e24f9b","type":"external","action":"response","outcome":"success","parent_id":"ffd5dc26b8916806","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6923a85419f1caa5"}} +{"span":{"duration":25.988459,"id":"ffd5dc26b8916806","name":"GET opbeans-node:3000","timestamp":1646055523191001,"trace_id":"490d3e795f0b2f33fbfdced3d4e24f9b","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/5/customers","status_code":200}},"outcome":"success","parent_id":"6923a85419f1caa5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6923a85419f1caa5"}} +{"transaction":{"duration":26.529958999999998,"id":"6923a85419f1caa5","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055523190844,"trace_id":"490d3e795f0b2f33fbfdced3d4e24f9b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-490d3e795f0b2f33fbfdced3d4e24f9b-8a27514e8f5a304f-01","Elastic-Apm-Traceparent":"00-490d3e795f0b2f33fbfdced3d4e24f9b-8a27514e8f5a304f-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"2","Etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","Date":"Mon, 28 Feb 2022 13:38:43 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"8a27514e8f5a304f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.33125,"id":"14b84443302792fa","name":"SELECT FROM products","timestamp":1646055523233893,"trace_id":"bff87fc7f364358b6e59e78a2d368bdb","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"bff87fc7f364358b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"bff87fc7f364358b"}} +{"transaction":{"duration":1.5852920000000001,"id":"bff87fc7f364358b","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055523233874,"trace_id":"bff87fc7f364358b6e59e78a2d368bdb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5224169999999999,"id":"f4c76f5a4d83b8ea","name":"SELECT FROM customers","timestamp":1646055523256446,"trace_id":"1de9d6e67e0c611cb02e6404937d8331","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1de9d6e67e0c611c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1de9d6e67e0c611c"}} +{"transaction":{"duration":0.6455000000000001,"id":"1de9d6e67e0c611c","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055523256422,"trace_id":"1de9d6e67e0c611cb02e6404937d8331","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/5160","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/5160"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.239583,"id":"62d47cf6e0587ba9","name":"SELECT FROM product_types","timestamp":1646055523274611,"trace_id":"1a29a0bb59572db51f9f88d90c9f241e","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1a29a0bb59572db5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1a29a0bb59572db5"}} +{"transaction":{"duration":0.329084,"id":"1a29a0bb59572db5","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055523274596,"trace_id":"1a29a0bb59572db51f9f88d90c9f241e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.198833,"id":"c8e7063073a66f71","name":"SELECT FROM product_types","timestamp":1646055523278259,"trace_id":"cdfb526762a3c1f4917402aaeed88641","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d48b3637d7366ce6","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d48b3637d7366ce6"}} +{"transaction":{"duration":0.459833,"id":"d48b3637d7366ce6","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055523278248,"trace_id":"cdfb526762a3c1f4917402aaeed88641","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-cdfb526762a3c1f4917402aaeed88641-c5f135627e85469d-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-cdfb526762a3c1f4917402aaeed88641-c5f135627e85469d-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c5f135627e85469d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.30416699999999997,"id":"5f991fa5b1c428de","name":"SELECT FROM orders","timestamp":1646055523295077,"trace_id":"d12a7aaf58814b7e7795a78b36f50f69","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c8a7d728c488f1bf","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c8a7d728c488f1bf"}} +{"span":{"duration":0.936959,"id":"885ec828a014babf","name":"SELECT FROM products","timestamp":1646055523295425,"trace_id":"d12a7aaf58814b7e7795a78b36f50f69","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c8a7d728c488f1bf","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c8a7d728c488f1bf"}} +{"transaction":{"duration":1.559041,"id":"c8a7d728c488f1bf","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055523295063,"trace_id":"d12a7aaf58814b7e7795a78b36f50f69","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/198","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/198"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-d12a7aaf58814b7e7795a78b36f50f69-62ff8bdc4f899bca-01","Traceparent":"00-d12a7aaf58814b7e7795a78b36f50f69-62ff8bdc4f899bca-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"62ff8bdc4f899bca","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.743708,"id":"209e35785cdd46f8","name":"Request","timestamp":1646055523294958,"trace_id":"d12a7aaf58814b7e7795a78b36f50f69","type":"external","action":"request","outcome":"success","parent_id":"62ff8bdc4f899bca","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d12a7aaf58814b7e"}} +{"span":{"duration":0.030416000000000002,"id":"b15494b7f44ed052","name":"Response","timestamp":1646055523296706,"trace_id":"d12a7aaf58814b7e7795a78b36f50f69","type":"external","action":"response","outcome":"success","parent_id":"62ff8bdc4f899bca","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d12a7aaf58814b7e"}} +{"span":{"duration":1.822333,"id":"62ff8bdc4f899bca","name":"GET opbeans-go:3000","timestamp":1646055523294915,"trace_id":"d12a7aaf58814b7e7795a78b36f50f69","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/198","status_code":200}},"outcome":"success","parent_id":"d12a7aaf58814b7e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d12a7aaf58814b7e"}} +{"transaction":{"duration":1.990375,"id":"d12a7aaf58814b7e","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055523294843,"trace_id":"d12a7aaf58814b7e7795a78b36f50f69","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/198","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/198"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:38:43 GMT","Content-Length":"291","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.316083,"id":"e4b26110322f2069","name":"DNS opbeans-python","timestamp":1646055523322687,"trace_id":"a41ee5700ec45d550f167e47a7ecc20a","type":"external","action":"dns","outcome":"success","parent_id":"ce7aa0fc475d0de2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a41ee5700ec45d55"}} +{"span":{"duration":0.12324999999999998,"id":"0d8e328a2b824998","name":"Connect 172.23.0.11:3000","timestamp":1646055523323009,"trace_id":"a41ee5700ec45d550f167e47a7ecc20a","type":"external","action":"connect","outcome":"success","parent_id":"ce7aa0fc475d0de2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a41ee5700ec45d55"}} +{"span":{"duration":1.380042,"id":"b90e9cb13de6392a","name":"SELECT FROM products","timestamp":1646055523357935,"trace_id":"2438623a0e17dc14d956c6577f699162","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"70972fc31a39d6d9","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"70972fc31a39d6d9"}} +{"transaction":{"duration":1.514542,"id":"70972fc31a39d6d9","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055523357913,"trace_id":"2438623a0e17dc14d956c6577f699162","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-2438623a0e17dc14d956c6577f699162-a79d932500c2b531-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-2438623a0e17dc14d956c6577f699162-a79d932500c2b531-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a79d932500c2b531","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":208.87645799999999,"id":"1ddacc94af9c6fbc","name":"Request","timestamp":1646055523323166,"trace_id":"a41ee5700ec45d550f167e47a7ecc20a","type":"external","action":"request","outcome":"success","parent_id":"ce7aa0fc475d0de2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a41ee5700ec45d55"}} +{"span":{"duration":2.6285000000000003,"id":"1af34142431ca860","name":"Response","timestamp":1646055523532181,"trace_id":"a41ee5700ec45d550f167e47a7ecc20a","type":"external","action":"response","outcome":"success","parent_id":"ce7aa0fc475d0de2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a41ee5700ec45d55"}} +{"span":{"duration":212.189333,"id":"ce7aa0fc475d0de2","name":"GET opbeans-python:3000","timestamp":1646055523322624,"trace_id":"a41ee5700ec45d550f167e47a7ecc20a","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"a41ee5700ec45d55","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a41ee5700ec45d55"}} +{"transaction":{"duration":212.936667,"id":"a41ee5700ec45d55","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055523322445,"trace_id":"a41ee5700ec45d550f167e47a7ecc20a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Date":"Mon, 28 Feb 2022 13:38:43 GMT","Content-Type":"application/json; charset=utf-8","Referrer-Policy":"same-origin","Server":"gunicorn","Content-Length":"2926","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":65.848416,"id":"ac5c006300858977","name":"Request","timestamp":1646055523562384,"trace_id":"aa033b8de08cc4996e4f72ea5474d43d","type":"external","action":"request","outcome":"success","parent_id":"ff9c1f2ab5d9fd42","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aa033b8de08cc499"}} +{"span":{"duration":0.143959,"id":"5f118f8b45853814","name":"Response","timestamp":1646055523628261,"trace_id":"aa033b8de08cc4996e4f72ea5474d43d","type":"external","action":"response","outcome":"success","parent_id":"ff9c1f2ab5d9fd42","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aa033b8de08cc499"}} +{"span":{"duration":66.08479200000001,"id":"ff9c1f2ab5d9fd42","name":"GET opbeans-ruby:3000","timestamp":1646055523562322,"trace_id":"aa033b8de08cc4996e4f72ea5474d43d","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/644","status_code":404}},"outcome":"failure","parent_id":"aa033b8de08cc499","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aa033b8de08cc499"}} +{"transaction":{"duration":66.632875,"id":"aa033b8de08cc499","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055523561933,"trace_id":"aa033b8de08cc4996e4f72ea5474d43d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/644","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/644"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=UTF-8","X-Request-Id":"5fc1110f-f496-4224-8bc2-0233096d925a","X-Runtime":"0.038620","Content-Length":"1722"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":17.991833,"id":"e3846d907a1d9362","name":"Request","timestamp":1646055523647922,"trace_id":"d4d67cdc1561ea2a3ff41d08876ec07f","type":"external","action":"request","outcome":"success","parent_id":"be33a60e22847497","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d4d67cdc1561ea2a"}} +{"span":{"duration":0.056499999999999995,"id":"483a853c424e4dd3","name":"Response","timestamp":1646055523665947,"trace_id":"d4d67cdc1561ea2a3ff41d08876ec07f","type":"external","action":"response","outcome":"success","parent_id":"be33a60e22847497","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d4d67cdc1561ea2a"}} +{"span":{"duration":18.106958,"id":"be33a60e22847497","name":"GET opbeans-node:3000","timestamp":1646055523647898,"trace_id":"d4d67cdc1561ea2a3ff41d08876ec07f","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"d4d67cdc1561ea2a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d4d67cdc1561ea2a"}} +{"transaction":{"duration":18.295375,"id":"d4d67cdc1561ea2a","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055523647789,"trace_id":"d4d67cdc1561ea2a3ff41d08876ec07f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"944","Etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","Date":"Mon, 28 Feb 2022 13:38:43 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":4.011625,"id":"2f47f79521e758f3","name":"SELECT FROM products","timestamp":1646055523683936,"trace_id":"5b527f346e3da907eefe8851c601c7a6","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5b527f346e3da907","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5b527f346e3da907"}} +{"transaction":{"duration":4.398583,"id":"5b527f346e3da907","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055523683892,"trace_id":"5b527f346e3da907eefe8851c601c7a6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":24.6655,"id":"3ff62c4e120ca006","name":"Request","timestamp":1646055523705950,"trace_id":"caa02d154740a5ad2665cf1705257383","type":"external","action":"request","outcome":"success","parent_id":"368923912dff3dac","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"caa02d154740a5ad"}} +{"span":{"duration":1.739542,"id":"73a21c6c12a52fd6","name":"Response","timestamp":1646055523730637,"trace_id":"caa02d154740a5ad2665cf1705257383","type":"external","action":"response","outcome":"success","parent_id":"368923912dff3dac","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"caa02d154740a5ad"}} +{"span":{"duration":26.445875,"id":"368923912dff3dac","name":"GET opbeans-ruby:3000","timestamp":1646055523705932,"trace_id":"caa02d154740a5ad2665cf1705257383","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/923","status_code":404}},"outcome":"failure","parent_id":"caa02d154740a5ad","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"caa02d154740a5ad"}} +{"transaction":{"duration":26.598416999999998,"id":"caa02d154740a5ad","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055523705876,"trace_id":"caa02d154740a5ad2665cf1705257383","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/923","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/923"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Runtime":"0.020388","Content-Length":"1722","Content-Type":"text/html; charset=UTF-8","X-Request-Id":"5241fad7-c8b7-4c77-b738-d8771e0613e6"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":46.97775,"id":"9fc9a085da644278","name":"Request","timestamp":1646055523751446,"trace_id":"7967a6ad7190be4e860beb3cf1fcfe9e","type":"external","action":"request","outcome":"success","parent_id":"d2e89f599d84de6d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7967a6ad7190be4e"}} +{"span":{"duration":0.335334,"id":"22b162d3a35482ff","name":"Response","timestamp":1646055523798448,"trace_id":"7967a6ad7190be4e860beb3cf1fcfe9e","type":"external","action":"response","outcome":"success","parent_id":"d2e89f599d84de6d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7967a6ad7190be4e"}} +{"span":{"duration":47.359542,"id":"d2e89f599d84de6d","name":"GET opbeans-ruby:3000","timestamp":1646055523751425,"trace_id":"7967a6ad7190be4e860beb3cf1fcfe9e","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"7967a6ad7190be4e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7967a6ad7190be4e"}} +{"transaction":{"duration":47.769041,"id":"7967a6ad7190be4e","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055523751242,"trace_id":"7967a6ad7190be4e860beb3cf1fcfe9e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.30079100000000003,"id":"c521d490c42f9769","name":"SELECT FROM customers","timestamp":1646055523817556,"trace_id":"0166940f98e4badf5bd0bb4ebaf2e687","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0166940f98e4badf","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0166940f98e4badf"}} +{"transaction":{"duration":2.0968750000000003,"id":"0166940f98e4badf","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055523817500,"trace_id":"0166940f98e4badf5bd0bb4ebaf2e687","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.213541,"id":"4886b6c09735ad6a","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055523837900,"trace_id":"4886b6c09735ad6a256a798ef6dda860","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"256a798ef6dda860","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.642375,"id":"88e9f2276c338b97","name":"DNS opbeans-python","timestamp":1646055523857745,"trace_id":"e27f2915943739929738a223f96d83e6","type":"external","action":"dns","outcome":"success","parent_id":"f58d2095521c64fb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e27f291594373992"}} +{"span":{"duration":0.11429099999999999,"id":"b28836039cb06407","name":"Connect 172.23.0.11:3000","timestamp":1646055523858393,"trace_id":"e27f2915943739929738a223f96d83e6","type":"external","action":"connect","outcome":"success","parent_id":"f58d2095521c64fb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e27f291594373992"}} +{"span":{"duration":41.828790999999995,"id":"8d92de2bd9ad9afc","name":"Request","timestamp":1646055523858517,"trace_id":"e27f2915943739929738a223f96d83e6","type":"external","action":"request","outcome":"success","parent_id":"f58d2095521c64fb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e27f291594373992"}} +{"span":{"duration":0.08354199999999999,"id":"105c4cc557dd56b5","name":"Response","timestamp":1646055523900380,"trace_id":"e27f2915943739929738a223f96d83e6","type":"external","action":"response","outcome":"success","parent_id":"f58d2095521c64fb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e27f291594373992"}} +{"span":{"duration":42.793916,"id":"f58d2095521c64fb","name":"GET opbeans-python:3000","timestamp":1646055523857671,"trace_id":"e27f2915943739929738a223f96d83e6","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"e27f291594373992","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e27f291594373992"}} +{"transaction":{"duration":43.090292000000005,"id":"e27f291594373992","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055523857611,"trace_id":"e27f2915943739929738a223f96d83e6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"112","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:38:43 GMT","X-Frame-Options":"DENY","Referrer-Policy":"same-origin","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":97.028083,"id":"65e993fc17b9b734","name":"Request","timestamp":1646055523919883,"trace_id":"db4c4df8e87ecbd75073399789db915d","type":"external","action":"request","outcome":"success","parent_id":"82c7c1c55849c735","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"db4c4df8e87ecbd7"}} +{"span":{"duration":0.138458,"id":"999efed78a41f4b9","name":"Response","timestamp":1646055524016943,"trace_id":"db4c4df8e87ecbd75073399789db915d","type":"external","action":"response","outcome":"success","parent_id":"82c7c1c55849c735","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"db4c4df8e87ecbd7"}} +{"span":{"duration":97.219292,"id":"82c7c1c55849c735","name":"GET opbeans-node:3000","timestamp":1646055523919863,"trace_id":"db4c4df8e87ecbd75073399789db915d","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"db4c4df8e87ecbd7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"db4c4df8e87ecbd7"}} +{"transaction":{"duration":97.52883299999999,"id":"db4c4df8e87ecbd7","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055523919803,"trace_id":"db4c4df8e87ecbd75073399789db915d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","Content-Length":"309","Date":"Mon, 28 Feb 2022 13:38:43 GMT","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","X-Frame-Options":"DENY","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.4680419999999998,"id":"2f3936f2c214472a","name":"SELECT FROM products","timestamp":1646055524039210,"trace_id":"260c0a72941dde5dea0207ef30c54123","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"260c0a72941dde5d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"260c0a72941dde5d"}} +{"transaction":{"duration":1.6134579999999998,"id":"260c0a72941dde5d","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055524039190,"trace_id":"260c0a72941dde5dea0207ef30c54123","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.43445799999999996,"id":"7176f54f797216e2","name":"SELECT FROM products","timestamp":1646055524065995,"trace_id":"3aff1b4317a45d3b0da69bce048ca7bb","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3aff1b4317a45d3b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3aff1b4317a45d3b"}} +{"transaction":{"duration":0.759458,"id":"3aff1b4317a45d3b","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055524065968,"trace_id":"3aff1b4317a45d3b0da69bce048ca7bb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.248042,"id":"0b62e6f9dd4aaca4","name":"SELECT FROM customers","timestamp":1646055524086057,"trace_id":"bc131d9241a8d8400f9b7b4cb7cc162b","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"bc131d9241a8d840","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"bc131d9241a8d840"}} +{"transaction":{"duration":3.67375,"id":"bc131d9241a8d840","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055524086038,"trace_id":"bc131d9241a8d8400f9b7b4cb7cc162b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.46716599999999997,"id":"0e79027c52833246","name":"SELECT FROM products","timestamp":1646055524107349,"trace_id":"00511c61764e594e6baf14fb7f7f1f37","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"00511c61764e594e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"00511c61764e594e"}} +{"transaction":{"duration":0.6481669999999999,"id":"00511c61764e594e","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055524107331,"trace_id":"00511c61764e594e6baf14fb7f7f1f37","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.566083,"id":"d3151a6fca9cc258","name":"DNS opbeans-python","timestamp":1646055524128137,"trace_id":"bdedd29b969b35364eb87ae0742c9754","type":"external","action":"dns","outcome":"success","parent_id":"29c78506e57ca72f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bdedd29b969b3536"}} +{"span":{"duration":0.131,"id":"de430fcdbc93d14f","name":"Connect 172.23.0.11:3000","timestamp":1646055524128707,"trace_id":"bdedd29b969b35364eb87ae0742c9754","type":"external","action":"connect","outcome":"success","parent_id":"29c78506e57ca72f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bdedd29b969b3536"}} +{"span":{"duration":21.135792000000002,"id":"a0454c16fd9edcc5","name":"Request","timestamp":1646055524128848,"trace_id":"bdedd29b969b35364eb87ae0742c9754","type":"external","action":"request","outcome":"success","parent_id":"29c78506e57ca72f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bdedd29b969b3536"}} +{"span":{"duration":1.9829999999999999,"id":"f8cb3c5299c5e485","name":"Response","timestamp":1646055524150007,"trace_id":"bdedd29b969b35364eb87ae0742c9754","type":"external","action":"response","outcome":"success","parent_id":"29c78506e57ca72f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bdedd29b969b3536"}} +{"span":{"duration":23.903292,"id":"29c78506e57ca72f","name":"GET opbeans-python:3000","timestamp":1646055524128088,"trace_id":"bdedd29b969b35364eb87ae0742c9754","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"bdedd29b969b3536","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bdedd29b969b3536"}} +{"transaction":{"duration":24.274375,"id":"bdedd29b969b3536","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055524127791,"trace_id":"bdedd29b969b35364eb87ae0742c9754","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:38:44 GMT","Content-Type":"application/json","Referrer-Policy":"same-origin","Server":"gunicorn","X-Frame-Options":"DENY","Vary":"Cookie","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":42.679959000000004,"id":"90e3ecb3d60f2254","name":"Request","timestamp":1646055524169429,"trace_id":"29636c9c6a34af9c236fbae12e37abac","type":"external","action":"request","outcome":"success","parent_id":"aad3320213fdc753","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"29636c9c6a34af9c"}} +{"span":{"duration":0.14704099999999998,"id":"ac80c8d67d4e7857","name":"Response","timestamp":1646055524212133,"trace_id":"29636c9c6a34af9c236fbae12e37abac","type":"external","action":"response","outcome":"success","parent_id":"aad3320213fdc753","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"29636c9c6a34af9c"}} +{"span":{"duration":42.869917,"id":"aad3320213fdc753","name":"GET opbeans-ruby:3000","timestamp":1646055524169411,"trace_id":"29636c9c6a34af9c236fbae12e37abac","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"29636c9c6a34af9c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"29636c9c6a34af9c"}} +{"transaction":{"duration":43.145500000000006,"id":"29636c9c6a34af9c","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055524169305,"trace_id":"29636c9c6a34af9c236fbae12e37abac","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.3005,"id":"18f7ff7b9f5598ac","name":"DNS opbeans-python","timestamp":1646055524232466,"trace_id":"36a6146199ba0658fa6079a4dc25b33d","type":"external","action":"dns","outcome":"success","parent_id":"a0d663037aa3e2fe","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cc62b3bcca44ec05"}} +{"span":{"duration":0.11837500000000001,"id":"9cc61faefb9d7e10","name":"Connect 172.23.0.11:3000","timestamp":1646055524232772,"trace_id":"36a6146199ba0658fa6079a4dc25b33d","type":"external","action":"connect","outcome":"success","parent_id":"a0d663037aa3e2fe","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cc62b3bcca44ec05"}} +{"span":{"duration":29.938375999999998,"id":"b3556c11c9ae3f64","name":"Request","timestamp":1646055524232900,"trace_id":"36a6146199ba0658fa6079a4dc25b33d","type":"external","action":"request","outcome":"success","parent_id":"a0d663037aa3e2fe","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cc62b3bcca44ec05"}} +{"span":{"duration":3.118083,"id":"37e67b0e2a7a347f","name":"Response","timestamp":1646055524262870,"trace_id":"36a6146199ba0658fa6079a4dc25b33d","type":"external","action":"response","outcome":"success","parent_id":"a0d663037aa3e2fe","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cc62b3bcca44ec05"}} +{"span":{"duration":33.553542,"id":"a0d663037aa3e2fe","name":"GET opbeans-python:3000","timestamp":1646055524232437,"trace_id":"36a6146199ba0658fa6079a4dc25b33d","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/549","status_code":200}},"outcome":"success","parent_id":"cc62b3bcca44ec05","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cc62b3bcca44ec05"}} +{"transaction":{"duration":33.709708,"id":"cc62b3bcca44ec05","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055524232405,"trace_id":"36a6146199ba0658fa6079a4dc25b33d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/549","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/549"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-36a6146199ba0658fa6079a4dc25b33d-5557c1f270cbf811-01","Traceparent":"00-36a6146199ba0658fa6079a4dc25b33d-5557c1f270cbf811-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Length":"312","Vary":"Cookie","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:38:44 GMT","Content-Type":"application/json","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"5557c1f270cbf811","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":33.876208,"id":"e193bd4bf8598473","name":"Request","timestamp":1646055524232307,"trace_id":"36a6146199ba0658fa6079a4dc25b33d","type":"external","action":"request","outcome":"success","parent_id":"5557c1f270cbf811","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"36a6146199ba0658"}} +{"span":{"duration":0.0245,"id":"678fa5873f78b3a7","name":"Response","timestamp":1646055524266190,"trace_id":"36a6146199ba0658fa6079a4dc25b33d","type":"external","action":"response","outcome":"success","parent_id":"5557c1f270cbf811","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"36a6146199ba0658"}} +{"span":{"duration":33.943334,"id":"5557c1f270cbf811","name":"GET opbeans-go:3000","timestamp":1646055524232271,"trace_id":"36a6146199ba0658fa6079a4dc25b33d","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/549","status_code":200}},"outcome":"success","parent_id":"36a6146199ba0658","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"36a6146199ba0658"}} +{"transaction":{"duration":34.074084,"id":"36a6146199ba0658","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055524232209,"trace_id":"36a6146199ba0658fa6079a4dc25b33d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/549","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/549"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:38:44 GMT","Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"312"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.47854100000000005,"id":"53e080dd651fb536","name":"DNS opbeans-node","timestamp":1646055524284251,"trace_id":"3ace2b06add51742bd07dcddccdb633c","type":"external","action":"dns","outcome":"success","parent_id":"f1e125b16596c691","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3ace2b06add51742"}} +{"span":{"duration":0.116166,"id":"4de9b662998eedcd","name":"Connect 172.23.0.10:3000","timestamp":1646055524284734,"trace_id":"3ace2b06add51742bd07dcddccdb633c","type":"external","action":"connect","outcome":"success","parent_id":"f1e125b16596c691","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3ace2b06add51742"}} +{"span":{"duration":54.067375,"id":"170a831b215eb52a","name":"Request","timestamp":1646055524284872,"trace_id":"3ace2b06add51742bd07dcddccdb633c","type":"external","action":"request","outcome":"success","parent_id":"f1e125b16596c691","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3ace2b06add51742"}} +{"span":{"duration":0.15604200000000001,"id":"ca28277a765b77e0","name":"Response","timestamp":1646055524338964,"trace_id":"3ace2b06add51742bd07dcddccdb633c","type":"external","action":"response","outcome":"success","parent_id":"f1e125b16596c691","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3ace2b06add51742"}} +{"span":{"duration":54.916332999999995,"id":"f1e125b16596c691","name":"GET opbeans-node:3000","timestamp":1646055524284205,"trace_id":"3ace2b06add51742bd07dcddccdb633c","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"3ace2b06add51742","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3ace2b06add51742"}} +{"transaction":{"duration":55.087709,"id":"3ace2b06add51742","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055524284135,"trace_id":"3ace2b06add51742bd07dcddccdb633c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","Etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","X-Permitted-Cross-Domain-Policies":"none","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","X-Request-Id":"6609a09f-067d-4da0-8bc9-3f84fb718d53","X-Runtime":"0.019111","Referrer-Policy":"strict-origin-when-cross-origin","Date":"Mon, 28 Feb 2022 13:38:44 GMT","Cache-Control":"max-age=0, private, must-revalidate","X-Frame-Options":"SAMEORIGIN","X-Xss-Protection":"1; mode=block"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.2434589999999999,"id":"2f01f7b3fbceac90","name":"SELECT FROM products","timestamp":1646055524357382,"trace_id":"9d28705a86ece91f093a8380b42f64dd","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9d28705a86ece91f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9d28705a86ece91f"}} +{"transaction":{"duration":1.34825,"id":"9d28705a86ece91f","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055524357366,"trace_id":"9d28705a86ece91f093a8380b42f64dd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.248375,"id":"ee4957bcfbca2243","name":"SELECT FROM products","timestamp":1646055524376844,"trace_id":"e609089c274616fca0c991afdc7e2c54","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e609089c274616fc","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e609089c274616fc"}} +{"transaction":{"duration":1.484292,"id":"e609089c274616fc","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055524376827,"trace_id":"e609089c274616fca0c991afdc7e2c54","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.597167,"id":"82d3ee684cbd1d72","name":"SELECT FROM customers","timestamp":1646055524396358,"trace_id":"75fee2191de2f889822f5738e154da4a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"75fee2191de2f889","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"75fee2191de2f889"}} +{"transaction":{"duration":4.448208,"id":"75fee2191de2f889","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055524396335,"trace_id":"75fee2191de2f889822f5738e154da4a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.198958,"id":"efd97b8e96ba5c93","name":"SELECT FROM product_types","timestamp":1646055524418797,"trace_id":"f26926cefdfb94bdc1d8b9e5813c9165","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c2047a5edad0bf30","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c2047a5edad0bf30"}} +{"transaction":{"duration":0.33883300000000005,"id":"c2047a5edad0bf30","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055524418786,"trace_id":"f26926cefdfb94bdc1d8b9e5813c9165","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-f26926cefdfb94bdc1d8b9e5813c9165-e4f00e3c20d6b9d9-01","Traceparent":"00-f26926cefdfb94bdc1d8b9e5813c9165-e4f00e3c20d6b9d9-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e4f00e3c20d6b9d9","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.465458,"id":"1c3af200c2864a82","name":"Request","timestamp":1646055524418708,"trace_id":"f26926cefdfb94bdc1d8b9e5813c9165","type":"external","action":"request","outcome":"success","parent_id":"e4f00e3c20d6b9d9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f26926cefdfb94bd"}} +{"span":{"duration":0.031584,"id":"29dcc96b22ec33f1","name":"Response","timestamp":1646055524419175,"trace_id":"f26926cefdfb94bdc1d8b9e5813c9165","type":"external","action":"response","outcome":"success","parent_id":"e4f00e3c20d6b9d9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f26926cefdfb94bd"}} +{"span":{"duration":0.518417,"id":"e4f00e3c20d6b9d9","name":"GET opbeans-go:3000","timestamp":1646055524418689,"trace_id":"f26926cefdfb94bdc1d8b9e5813c9165","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types","status_code":200}},"outcome":"success","parent_id":"f26926cefdfb94bd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f26926cefdfb94bd"}} +{"transaction":{"duration":0.851,"id":"f26926cefdfb94bd","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055524418392,"trace_id":"f26926cefdfb94bdc1d8b9e5813c9165","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:38:44 GMT","Content-Length":"112"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.3389579999999999,"id":"64cc8308108df64c","name":"DNS opbeans-python","timestamp":1646055524430680,"trace_id":"3a1901ec8a83c9255d00559cd62e114b","type":"external","action":"dns","outcome":"success","parent_id":"10bafdabf600ecae","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bdb971b5605a60bc"}} +{"span":{"duration":0.107375,"id":"f6029f95be657c9a","name":"Connect 172.23.0.11:3000","timestamp":1646055524432026,"trace_id":"3a1901ec8a83c9255d00559cd62e114b","type":"external","action":"connect","outcome":"success","parent_id":"10bafdabf600ecae","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bdb971b5605a60bc"}} +{"span":{"duration":0.224041,"id":"a60ca59001053838","name":"SELECT FROM customers","timestamp":1646055524436987,"trace_id":"d0a11c80cf1936685fac7976b9328272","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d0a11c80cf193668","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d0a11c80cf193668"}} +{"transaction":{"duration":1.817917,"id":"d0a11c80cf193668","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055524436971,"trace_id":"d0a11c80cf1936685fac7976b9328272","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.228541,"id":"3e8a5293ebec4f35","name":"DNS opbeans-python","timestamp":1646055524460998,"trace_id":"b1070a287d65ac34e6e318b42dfd54e8","type":"external","action":"dns","outcome":"success","parent_id":"70885f2710ef017f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b1070a287d65ac34"}} +{"span":{"duration":0.074875,"id":"2a30a37f07661333","name":"Connect 172.23.0.11:3000","timestamp":1646055524461231,"trace_id":"b1070a287d65ac34e6e318b42dfd54e8","type":"external","action":"connect","outcome":"success","parent_id":"70885f2710ef017f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b1070a287d65ac34"}} +{"span":{"duration":67.340291,"id":"637c6d9c1c4e6d34","name":"Request","timestamp":1646055524432144,"trace_id":"3a1901ec8a83c9255d00559cd62e114b","type":"external","action":"request","outcome":"success","parent_id":"10bafdabf600ecae","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bdb971b5605a60bc"}} +{"span":{"duration":0.135083,"id":"aa8885f3391ae53b","name":"Response","timestamp":1646055524499506,"trace_id":"3a1901ec8a83c9255d00559cd62e114b","type":"external","action":"response","outcome":"success","parent_id":"10bafdabf600ecae","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bdb971b5605a60bc"}} +{"span":{"duration":68.99950000000001,"id":"10bafdabf600ecae","name":"GET opbeans-python:3000","timestamp":1646055524430642,"trace_id":"3a1901ec8a83c9255d00559cd62e114b","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types/1","status_code":200}},"outcome":"success","parent_id":"bdb971b5605a60bc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bdb971b5605a60bc"}} +{"transaction":{"duration":69.39812500000001,"id":"bdb971b5605a60bc","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055524430440,"trace_id":"3a1901ec8a83c9255d00559cd62e114b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Elastic-Apm-Traceparent":"00-3a1901ec8a83c9255d00559cd62e114b-d90dffdf2ed5d3af-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-3a1901ec8a83c9255d00559cd62e114b-d90dffdf2ed5d3af-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Length":"116","Vary":"Cookie","Server":"gunicorn","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:38:44 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d90dffdf2ed5d3af","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.179917,"id":"0831b18e4e5e4363","name":"SELECT FROM customers","timestamp":1646055524520639,"trace_id":"b1070a287d65ac34e6e318b42dfd54e8","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"15ba12181c584399","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"15ba12181c584399"}} +{"transaction":{"duration":4.879708,"id":"15ba12181c584399","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055524520493,"trace_id":"b1070a287d65ac34e6e318b42dfd54e8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-b1070a287d65ac34e6e318b42dfd54e8-8adb6f8a4d24b806-01","Elastic-Apm-Traceparent":"00-b1070a287d65ac34e6e318b42dfd54e8-8adb6f8a4d24b806-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"8adb6f8a4d24b806","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":84.328958,"id":"c83b2366aa21d768","name":"Request","timestamp":1646055524461316,"trace_id":"b1070a287d65ac34e6e318b42dfd54e8","type":"external","action":"request","outcome":"success","parent_id":"70885f2710ef017f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b1070a287d65ac34"}} +{"span":{"duration":2.356125,"id":"39581146fff37691","name":"Response","timestamp":1646055524545671,"trace_id":"b1070a287d65ac34e6e318b42dfd54e8","type":"external","action":"response","outcome":"success","parent_id":"70885f2710ef017f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b1070a287d65ac34"}} +{"span":{"duration":87.076792,"id":"70885f2710ef017f","name":"GET opbeans-python:3000","timestamp":1646055524460954,"trace_id":"b1070a287d65ac34e6e318b42dfd54e8","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"b1070a287d65ac34","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b1070a287d65ac34"}} +{"transaction":{"duration":88.107125,"id":"b1070a287d65ac34","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055524460037,"trace_id":"b1070a287d65ac34e6e318b42dfd54e8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:38:44 GMT","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Referrer-Policy":"same-origin","Content-Length":"186769","Vary":"Cookie","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.674834,"id":"98547e35afd52440","name":"SELECT FROM orders","timestamp":1646055524568770,"trace_id":"e4552362187504fcf15b9c074e2f4196","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e4552362187504fc","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e4552362187504fc"}} +{"transaction":{"duration":2.473167,"id":"e4552362187504fc","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055524568735,"trace_id":"e4552362187504fcf15b9c074e2f4196","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.431209,"id":"35192addf0ece14f","name":"DNS opbeans-python","timestamp":1646055524594442,"trace_id":"7cb6602a1621d283a7fc7aadc88993c2","type":"external","action":"dns","outcome":"success","parent_id":"48c1c459cbca1741","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7cb6602a1621d283"}} +{"span":{"duration":0.078541,"id":"e48ec02efc2e740b","name":"Connect 172.23.0.11:3000","timestamp":1646055524594889,"trace_id":"7cb6602a1621d283a7fc7aadc88993c2","type":"external","action":"connect","outcome":"success","parent_id":"48c1c459cbca1741","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7cb6602a1621d283"}} +{"span":{"duration":28.357084,"id":"87ea2ea20bdaa3cc","name":"Request","timestamp":1646055524646661,"trace_id":"1619eff8f8572d1aed899c99f0609f68","type":"external","action":"request","outcome":"success","parent_id":"d22e61584e31e6b3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c786641f070af8bf"}} +{"span":{"duration":0.133583,"id":"3616854d4847fcff","name":"Response","timestamp":1646055524675046,"trace_id":"1619eff8f8572d1aed899c99f0609f68","type":"external","action":"response","outcome":"success","parent_id":"d22e61584e31e6b3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c786641f070af8bf"}} +{"span":{"duration":28.527416,"id":"d22e61584e31e6b3","name":"GET opbeans-ruby:3000","timestamp":1646055524646653,"trace_id":"1619eff8f8572d1aed899c99f0609f68","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/4","status_code":200}},"outcome":"success","parent_id":"c786641f070af8bf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c786641f070af8bf"}} +{"span":{"duration":28.815208,"id":"440fc98778e8ee90","name":"Request","timestamp":1646055524646486,"trace_id":"1619eff8f8572d1aed899c99f0609f68","type":"external","action":"request","outcome":"success","parent_id":"a68c9199745eb7ad","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e44c3aff91f08f69"}} +{"transaction":{"duration":28.76625,"id":"c786641f070af8bf","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055524646626,"trace_id":"1619eff8f8572d1aed899c99f0609f68","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"Accept-Encoding":"gzip","Elastic-Apm-Traceparent":"00-1619eff8f8572d1aed899c99f0609f68-a68c9199745eb7ad-01","Traceparent":"00-1619eff8f8572d1aed899c99f0609f68-a68c9199745eb7ad-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.10"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Etag":"W/\"4059e1403ac9698d997e25789af2cf26\"","Cache-Control":"max-age=0, private, must-revalidate","X-Runtime":"0.020259","X-Content-Type-Options":"nosniff","Referrer-Policy":"strict-origin-when-cross-origin","X-Xss-Protection":"1; mode=block","X-Frame-Options":"SAMEORIGIN","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","Content-Type":"application/json; charset=utf-8","X-Request-Id":"6af6376b-8d92-4ca9-b522-322f0ef9a838"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a68c9199745eb7ad","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.132,"id":"c648d6fb9d7f9229","name":"Response","timestamp":1646055524675308,"trace_id":"1619eff8f8572d1aed899c99f0609f68","type":"external","action":"response","outcome":"success","parent_id":"a68c9199745eb7ad","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e44c3aff91f08f69"}} +{"span":{"duration":28.972624999999997,"id":"a68c9199745eb7ad","name":"GET opbeans-go:3000","timestamp":1646055524646468,"trace_id":"1619eff8f8572d1aed899c99f0609f68","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/4","status_code":200}},"outcome":"success","parent_id":"e44c3aff91f08f69","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e44c3aff91f08f69"}} +{"transaction":{"duration":29.079125,"id":"e44c3aff91f08f69","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055524646409,"trace_id":"1619eff8f8572d1aed899c99f0609f68","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"Traceparent":"00-1619eff8f8572d1aed899c99f0609f68-e7ee71a969383b39-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-1619eff8f8572d1aed899c99f0609f68-e7ee71a969383b39-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Frame-Options":"SAMEORIGIN","Cache-Control":"max-age=0, private, must-revalidate","Referrer-Policy":"strict-origin-when-cross-origin","X-Permitted-Cross-Domain-Policies":"none","Etag":"W/\"4059e1403ac9698d997e25789af2cf26\"","X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","X-Request-Id":"6af6376b-8d92-4ca9-b522-322f0ef9a838","X-Runtime":"0.020259","X-Xss-Protection":"1; mode=block","Date":"Mon, 28 Feb 2022 13:38:44 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e7ee71a969383b39","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.283916,"id":"7417a9c302db534d","name":"DNS opbeans-node","timestamp":1646055525985793,"trace_id":"bb7c96984e5283cde6449059daf2a470","type":"external","action":"dns","outcome":"success","parent_id":"ac669498c0734764","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e9d5353b0f3ac262"}} +{"span":{"duration":0.079875,"id":"9ad8440c3329c141","name":"Connect 172.23.0.10:3000","timestamp":1646055525986081,"trace_id":"bb7c96984e5283cde6449059daf2a470","type":"external","action":"connect","outcome":"success","parent_id":"ac669498c0734764","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e9d5353b0f3ac262"}} +{"span":{"duration":117.042292,"id":"cd5a316fdac26265","name":"Request","timestamp":1646055525986173,"trace_id":"bb7c96984e5283cde6449059daf2a470","type":"external","action":"request","outcome":"success","parent_id":"ac669498c0734764","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e9d5353b0f3ac262"}} +{"span":{"duration":0.049082999999999995,"id":"eb8356794de54f15","name":"Response","timestamp":1646055526103244,"trace_id":"bb7c96984e5283cde6449059daf2a470","type":"external","action":"response","outcome":"success","parent_id":"ac669498c0734764","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e9d5353b0f3ac262"}} +{"span":{"duration":117.542292,"id":"ac669498c0734764","name":"GET opbeans-node:3000","timestamp":1646055525985751,"trace_id":"bb7c96984e5283cde6449059daf2a470","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"e9d5353b0f3ac262","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e9d5353b0f3ac262"}} +{"transaction":{"duration":117.96412500000001,"id":"e9d5353b0f3ac262","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055525985521,"trace_id":"bb7c96984e5283cde6449059daf2a470","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Traceparent":"00-bb7c96984e5283cde6449059daf2a470-43accbcc5153a456-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-bb7c96984e5283cde6449059daf2a470-43accbcc5153a456-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Length":"108","Etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","Date":"Mon, 28 Feb 2022 13:38:46 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"43accbcc5153a456","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.306417,"id":"9b5daf08d3d2eb70","name":"SELECT FROM product_types","timestamp":1646055527096113,"trace_id":"cafc35f232363ed786d4c92a8baf1395","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"466862b645fa7d05","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"466862b645fa7d05"}} +{"transaction":{"duration":0.404375,"id":"466862b645fa7d05","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055527096096,"trace_id":"cafc35f232363ed786d4c92a8baf1395","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Connection":"close","Traceparent":"00-cafc35f232363ed786d4c92a8baf1395-52f7b30e0afc2234-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-cafc35f232363ed786d4c92a8baf1395-52f7b30e0afc2234-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"52f7b30e0afc2234","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":34.9975,"id":"ed805345f919081a","name":"Request","timestamp":1646055527065452,"trace_id":"cafc35f232363ed786d4c92a8baf1395","type":"external","action":"request","outcome":"success","parent_id":"f984cda0b776d0d2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a55311588978f869"}} +{"span":{"duration":0.199708,"id":"fd24f4227e314576","name":"Response","timestamp":1646055527100483,"trace_id":"cafc35f232363ed786d4c92a8baf1395","type":"external","action":"response","outcome":"success","parent_id":"f984cda0b776d0d2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a55311588978f869"}} +{"span":{"duration":35.253125000000004,"id":"f984cda0b776d0d2","name":"GET opbeans-node:3000","timestamp":1646055527065431,"trace_id":"cafc35f232363ed786d4c92a8baf1395","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"a55311588978f869","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a55311588978f869"}} +{"transaction":{"duration":35.59775,"id":"a55311588978f869","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055527065182,"trace_id":"cafc35f232363ed786d4c92a8baf1395","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-cafc35f232363ed786d4c92a8baf1395-c5c1050087cd1678-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-cafc35f232363ed786d4c92a8baf1395-c5c1050087cd1678-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:38:47 GMT","Content-Length":"35"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c5c1050087cd1678","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.3435000000000001,"id":"8e77f07b95e75641","name":"SELECT FROM products","timestamp":1646055527164097,"trace_id":"3bc180080f1e9bb1b642865ef2b69028","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3e6657d12b49c92b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3e6657d12b49c92b"}} +{"transaction":{"duration":1.801916,"id":"3e6657d12b49c92b","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055527164076,"trace_id":"3bc180080f1e9bb1b642865ef2b69028","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Connection":"keep-alive","Traceparent":"00-3bc180080f1e9bb1b642865ef2b69028-19fddbc9dbadc6be-01","Elastic-Apm-Traceparent":"00-3bc180080f1e9bb1b642865ef2b69028-19fddbc9dbadc6be-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"19fddbc9dbadc6be","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.232083,"id":"a7d0ef79c5c4a1bd","name":"SELECT FROM product_types","timestamp":1646055527410258,"trace_id":"ae53324a7023abd26d3f90fd599fc766","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c6638c62f5e5d8ac","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c6638c62f5e5d8ac"}} +{"transaction":{"duration":0.364125,"id":"c6638c62f5e5d8ac","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055527410238,"trace_id":"ae53324a7023abd26d3f90fd599fc766","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Connection":"keep-alive","Traceparent":"00-ae53324a7023abd26d3f90fd599fc766-e2d1263c3cdbe931-01","Elastic-Apm-Traceparent":"00-ae53324a7023abd26d3f90fd599fc766-e2d1263c3cdbe931-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e2d1263c3cdbe931","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.905625,"id":"6751e0c9a7f30240","name":"DNS opbeans-python","timestamp":1646055527527372,"trace_id":"72091ff7ee2276a5164d7de21e48487d","type":"external","action":"dns","outcome":"success","parent_id":"451b84b10f310264","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1b1bfe3352b1a7c1"}} +{"span":{"duration":0.15279099999999998,"id":"7248134671ab5c48","name":"Connect 172.23.0.11:3000","timestamp":1646055527528287,"trace_id":"72091ff7ee2276a5164d7de21e48487d","type":"external","action":"connect","outcome":"success","parent_id":"451b84b10f310264","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1b1bfe3352b1a7c1"}} +{"span":{"duration":118.162375,"id":"b7e289bfdce84314","name":"Request","timestamp":1646055527528454,"trace_id":"72091ff7ee2276a5164d7de21e48487d","type":"external","action":"request","outcome":"success","parent_id":"451b84b10f310264","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1b1bfe3352b1a7c1"}} +{"span":{"duration":0.517916,"id":"d6ed08278ebb5f18","name":"Response","timestamp":1646055527646698,"trace_id":"72091ff7ee2276a5164d7de21e48487d","type":"external","action":"response","outcome":"success","parent_id":"451b84b10f310264","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1b1bfe3352b1a7c1"}} +{"span":{"duration":119.87929199999999,"id":"451b84b10f310264","name":"GET opbeans-python:3000","timestamp":1646055527527338,"trace_id":"72091ff7ee2276a5164d7de21e48487d","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"1b1bfe3352b1a7c1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1b1bfe3352b1a7c1"}} +{"transaction":{"duration":120.186,"id":"1b1bfe3352b1a7c1","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055527527288,"trace_id":"72091ff7ee2276a5164d7de21e48487d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept-Encoding":"gzip","Elastic-Apm-Traceparent":"00-72091ff7ee2276a5164d7de21e48487d-91ad67be444fe0f3-01","Traceparent":"00-72091ff7ee2276a5164d7de21e48487d-91ad67be444fe0f3-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.10"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Length":"128","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","Content-Type":"application/json","X-Frame-Options":"DENY","Date":"Mon, 28 Feb 2022 13:38:47 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"91ad67be444fe0f3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":120.455709,"id":"54a0ba5bec8756b1","name":"Request","timestamp":1646055527527170,"trace_id":"72091ff7ee2276a5164d7de21e48487d","type":"external","action":"request","outcome":"success","parent_id":"91ad67be444fe0f3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1f7fe0da6d55bc84"}} +{"span":{"duration":0.044333,"id":"171bbb50219d1e8c","name":"Response","timestamp":1646055527647636,"trace_id":"72091ff7ee2276a5164d7de21e48487d","type":"external","action":"response","outcome":"success","parent_id":"91ad67be444fe0f3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1f7fe0da6d55bc84"}} +{"span":{"duration":120.538375,"id":"91ad67be444fe0f3","name":"GET opbeans-go:3000","timestamp":1646055527527143,"trace_id":"72091ff7ee2276a5164d7de21e48487d","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"1f7fe0da6d55bc84","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1f7fe0da6d55bc84"}} +{"transaction":{"duration":120.768,"id":"1f7fe0da6d55bc84","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055527526972,"trace_id":"72091ff7ee2276a5164d7de21e48487d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Connection":"close","Traceparent":"00-72091ff7ee2276a5164d7de21e48487d-3852075e128c60b0-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-72091ff7ee2276a5164d7de21e48487d-3852075e128c60b0-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Length":"128","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:38:47 GMT","Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"3852075e128c60b0","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":211.399125,"id":"bdfe9eb213ea009b","name":"Request","timestamp":1646055527479927,"trace_id":"72091ff7ee2276a5164d7de21e48487d","type":"external","action":"request","outcome":"success","parent_id":"a9621c151164f800","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b70c3be8dfa4fbf9"}} +{"span":{"duration":0.128458,"id":"16bbb1134d6dcdcb","name":"Response","timestamp":1646055527691350,"trace_id":"72091ff7ee2276a5164d7de21e48487d","type":"external","action":"response","outcome":"success","parent_id":"a9621c151164f800","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b70c3be8dfa4fbf9"}} +{"span":{"duration":211.573542,"id":"a9621c151164f800","name":"GET opbeans-ruby:3000","timestamp":1646055527479906,"trace_id":"72091ff7ee2276a5164d7de21e48487d","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"b70c3be8dfa4fbf9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b70c3be8dfa4fbf9"}} +{"transaction":{"duration":212.04941599999998,"id":"b70c3be8dfa4fbf9","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055527479674,"trace_id":"72091ff7ee2276a5164d7de21e48487d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Traceparent":"00-72091ff7ee2276a5164d7de21e48487d-7df2fafb4101bbff-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-72091ff7ee2276a5164d7de21e48487d-7df2fafb4101bbff-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"7df2fafb4101bbff","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.350542,"id":"7a2e540daae1f0a5","name":"SELECT FROM customers","timestamp":1646055528220852,"trace_id":"2241e3453c4c91992d1909653650d983","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6d8ff0cd9f8a9a5b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6d8ff0cd9f8a9a5b"}} +{"transaction":{"duration":0.487834,"id":"6d8ff0cd9f8a9a5b","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055528220831,"trace_id":"2241e3453c4c91992d1909653650d983","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/376","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/376"},"headers":{"Traceparent":"00-2241e3453c4c91992d1909653650d983-c587c55e0e0f6a4b-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.11","User-Agent":"python-requests/2.27.1","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-2241e3453c4c91992d1909653650d983-c587c55e0e0f6a4b-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c587c55e0e0f6a4b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.622542,"id":"411a6f7598127d4c","name":"Request","timestamp":1646055528220762,"trace_id":"2241e3453c4c91992d1909653650d983","type":"external","action":"request","outcome":"success","parent_id":"c587c55e0e0f6a4b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"04007212914283da"}} +{"span":{"duration":0.029750000000000002,"id":"c336b0d205202922","name":"Response","timestamp":1646055528221388,"trace_id":"2241e3453c4c91992d1909653650d983","type":"external","action":"response","outcome":"success","parent_id":"c587c55e0e0f6a4b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"04007212914283da"}} +{"span":{"duration":0.688042,"id":"c587c55e0e0f6a4b","name":"GET opbeans-go:3000","timestamp":1646055528220731,"trace_id":"2241e3453c4c91992d1909653650d983","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/376","status_code":200}},"outcome":"success","parent_id":"04007212914283da","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"04007212914283da"}} +{"transaction":{"duration":0.9785,"id":"04007212914283da","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055528220510,"trace_id":"2241e3453c4c91992d1909653650d983","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/376","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/376"},"headers":{"Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-2241e3453c4c91992d1909653650d983-0db56c578365ffc2-01","Elastic-Apm-Traceparent":"00-2241e3453c4c91992d1909653650d983-0db56c578365ffc2-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:38:48 GMT","Content-Length":"188"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"0db56c578365ffc2","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.159792,"id":"36f6f0e63351bfa0","name":"SELECT FROM product_types","timestamp":1646055528299310,"trace_id":"ac17c73f588099829dd5c7f804e67a72","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"320be29e86a71ee0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"320be29e86a71ee0"}} +{"transaction":{"duration":0.5265839999999999,"id":"320be29e86a71ee0","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055528299296,"trace_id":"ac17c73f588099829dd5c7f804e67a72","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-ac17c73f588099829dd5c7f804e67a72-2555b50f161d4fa5-01","Elastic-Apm-Traceparent":"00-ac17c73f588099829dd5c7f804e67a72-2555b50f161d4fa5-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"2555b50f161d4fa5","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":48.280416,"id":"a31bbfbd025d9c52","name":"Request","timestamp":1646055528350063,"trace_id":"e0504c9b6ca9b8f132da57237914be72","type":"external","action":"request","outcome":"success","parent_id":"625c10bd9d52a174","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"789f0b766b220527"}} +{"span":{"duration":0.6096250000000001,"id":"d052701268978d64","name":"Response","timestamp":1646055528398368,"trace_id":"e0504c9b6ca9b8f132da57237914be72","type":"external","action":"response","outcome":"success","parent_id":"625c10bd9d52a174","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"789f0b766b220527"}} +{"span":{"duration":48.935959000000004,"id":"625c10bd9d52a174","name":"GET opbeans-ruby:3000","timestamp":1646055528350043,"trace_id":"e0504c9b6ca9b8f132da57237914be72","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/4/customers?limit=90","status_code":200}},"outcome":"success","parent_id":"789f0b766b220527","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"789f0b766b220527"}} +{"transaction":{"duration":49.178875,"id":"789f0b766b220527","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055528349925,"trace_id":"e0504c9b6ca9b8f132da57237914be72","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","search":"limit=90","full":"http://opbeans-go:3000/api/products/4/customers?limit=90"},"headers":{"Elastic-Apm-Traceparent":"00-e0504c9b6ca9b8f132da57237914be72-31308dc5c8cf227f-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-e0504c9b6ca9b8f132da57237914be72-31308dc5c8cf227f-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"X-Xss-Protection":"1; mode=block","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","Content-Type":"application/json; charset=utf-8","Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"eec50b37-f51c-494d-915a-2c35b513f3ed","Vary":"Accept","X-Runtime":"0.031789","X-Frame-Options":"SAMEORIGIN","Etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","X-Content-Type-Options":"nosniff","Referrer-Policy":"strict-origin-when-cross-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"31308dc5c8cf227f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.28925,"id":"bf147a8fa35b95b6","name":"DNS opbeans-python","timestamp":1646055528427061,"trace_id":"1a86c3632420e69917d05e919e9f9f61","type":"external","action":"dns","outcome":"success","parent_id":"2deb7254c12f439d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e67187ae9aa2262e"}} +{"span":{"duration":0.089083,"id":"7c3d169c1f30ae3c","name":"Connect 172.23.0.11:3000","timestamp":1646055528427355,"trace_id":"1a86c3632420e69917d05e919e9f9f61","type":"external","action":"connect","outcome":"success","parent_id":"2deb7254c12f439d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e67187ae9aa2262e"}} +{"span":{"duration":0.562916,"id":"80c4dfd835dce5c7","name":"SELECT FROM orders","timestamp":1646055528995401,"trace_id":"80886e873e2abf69d067804c50284721","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a5f71762a42e1694","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a5f71762a42e1694"}} +{"transaction":{"duration":2.646167,"id":"a5f71762a42e1694","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055528995376,"trace_id":"80886e873e2abf69d067804c50284721","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Traceparent":"00-80886e873e2abf69d067804c50284721-c30de5d853fd61da-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-80886e873e2abf69d067804c50284721-c30de5d853fd61da-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c30de5d853fd61da","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":4902.730211,"id":"80a35dde447dcc0e","name":"Request","timestamp":1646055524594977,"trace_id":"7cb6602a1621d283a7fc7aadc88993c2","type":"external","action":"request","outcome":"success","parent_id":"48c1c459cbca1741","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7cb6602a1621d283"}} +{"span":{"duration":0.33358299999999996,"id":"2bb66164a224b631","name":"Response","timestamp":1646055529497755,"trace_id":"7cb6602a1621d283a7fc7aadc88993c2","type":"external","action":"response","outcome":"success","parent_id":"48c1c459cbca1741","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7cb6602a1621d283"}} +{"span":{"duration":4903.687835999999,"id":"48c1c459cbca1741","name":"GET opbeans-python:3000","timestamp":1646055524594402,"trace_id":"7cb6602a1621d283a7fc7aadc88993c2","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"7cb6602a1621d283","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7cb6602a1621d283"}} +{"transaction":{"duration":4903.919293999999,"id":"7cb6602a1621d283","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055524594335,"trace_id":"7cb6602a1621d283a7fc7aadc88993c2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Content-Type":"application/json","Content-Length":"108580","Vary":"Cookie","Date":"Mon, 28 Feb 2022 13:38:49 GMT","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.36900000000000005,"id":"f79c303f86c5e202","name":"DNS opbeans-go","timestamp":1646055529521901,"trace_id":"da29dd2aaaa3686e112daca96db18276","type":"external","action":"dns","outcome":"success","parent_id":"6ec377c37380ae1f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cba0762a62a24cfe"}} +{"span":{"duration":0.130875,"id":"8b21a56862bbed96","name":"Connect 172.23.0.9:3000","timestamp":1646055529522274,"trace_id":"da29dd2aaaa3686e112daca96db18276","type":"external","action":"connect","outcome":"success","parent_id":"6ec377c37380ae1f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cba0762a62a24cfe"}} +{"span":{"duration":0.46295800000000004,"id":"98a2c6d177e38ce5","name":"SELECT FROM product_types","timestamp":1646055529522840,"trace_id":"da29dd2aaaa3686e112daca96db18276","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7e12efe31073924b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7e12efe31073924b"}} +{"transaction":{"duration":0.6387079999999999,"id":"7e12efe31073924b","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055529522823,"trace_id":"da29dd2aaaa3686e112daca96db18276","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14, 172.23.0.9","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-da29dd2aaaa3686e112daca96db18276-6ec377c37380ae1f-01","Traceparent":"00-da29dd2aaaa3686e112daca96db18276-6ec377c37380ae1f-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6ec377c37380ae1f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.233041,"id":"3ed51673f0ca3bb4","name":"Request","timestamp":1646055529522428,"trace_id":"da29dd2aaaa3686e112daca96db18276","type":"external","action":"request","outcome":"success","parent_id":"6ec377c37380ae1f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cba0762a62a24cfe"}} +{"span":{"duration":0.028666999999999998,"id":"a546a212a2ff49bf","name":"Response","timestamp":1646055529523662,"trace_id":"da29dd2aaaa3686e112daca96db18276","type":"external","action":"response","outcome":"success","parent_id":"6ec377c37380ae1f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cba0762a62a24cfe"}} +{"span":{"duration":1.8285,"id":"6ec377c37380ae1f","name":"GET opbeans-go:3000","timestamp":1646055529521863,"trace_id":"da29dd2aaaa3686e112daca96db18276","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types/1","status_code":200}},"outcome":"success","parent_id":"cba0762a62a24cfe","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cba0762a62a24cfe"}} +{"transaction":{"duration":2.29375,"id":"cba0762a62a24cfe","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055529521501,"trace_id":"da29dd2aaaa3686e112daca96db18276","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-da29dd2aaaa3686e112daca96db18276-22f199d5dadee77a-01","Traceparent":"00-da29dd2aaaa3686e112daca96db18276-22f199d5dadee77a-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Length":"36","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:38:49 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"22f199d5dadee77a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.4867090000000003,"id":"b398852d44db35df","name":"Request","timestamp":1646055529521336,"trace_id":"da29dd2aaaa3686e112daca96db18276","type":"external","action":"request","outcome":"success","parent_id":"22f199d5dadee77a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"da29dd2aaaa3686e"}} +{"span":{"duration":0.016958,"id":"597ac06032a461ee","name":"Response","timestamp":1646055529523824,"trace_id":"da29dd2aaaa3686e112daca96db18276","type":"external","action":"response","outcome":"success","parent_id":"22f199d5dadee77a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"da29dd2aaaa3686e"}} +{"span":{"duration":2.528292,"id":"22f199d5dadee77a","name":"GET opbeans-go:3000","timestamp":1646055529521313,"trace_id":"da29dd2aaaa3686e112daca96db18276","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types/1","status_code":200}},"outcome":"success","parent_id":"da29dd2aaaa3686e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"da29dd2aaaa3686e"}} +{"transaction":{"duration":2.867542,"id":"da29dd2aaaa3686e","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055529520996,"trace_id":"da29dd2aaaa3686e112daca96db18276","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"36","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:38:49 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6651250000000001,"id":"428b20e6f08a7e4b","name":"DNS opbeans-node","timestamp":1646055529541081,"trace_id":"1abce10a08a704ff0d98188dfbeb98e3","type":"external","action":"dns","outcome":"success","parent_id":"bf758eadf2bc3497","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1abce10a08a704ff"}} +{"span":{"duration":0.202917,"id":"884cf3250e65280b","name":"Connect 172.23.0.10:3000","timestamp":1646055529541750,"trace_id":"1abce10a08a704ff0d98188dfbeb98e3","type":"external","action":"connect","outcome":"success","parent_id":"bf758eadf2bc3497","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1abce10a08a704ff"}} +{"span":{"duration":60.161874999999995,"id":"bc4daf46b705be46","name":"Request","timestamp":1646055529541964,"trace_id":"1abce10a08a704ff0d98188dfbeb98e3","type":"external","action":"request","outcome":"success","parent_id":"bf758eadf2bc3497","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1abce10a08a704ff"}} +{"span":{"duration":0.063125,"id":"010fff885de96aa0","name":"Response","timestamp":1646055529602167,"trace_id":"1abce10a08a704ff0d98188dfbeb98e3","type":"external","action":"response","outcome":"success","parent_id":"bf758eadf2bc3497","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1abce10a08a704ff"}} +{"span":{"duration":61.195958000000005,"id":"bf758eadf2bc3497","name":"GET opbeans-node:3000","timestamp":1646055529541034,"trace_id":"1abce10a08a704ff0d98188dfbeb98e3","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/1","status_code":200}},"outcome":"success","parent_id":"1abce10a08a704ff","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1abce10a08a704ff"}} +{"transaction":{"duration":61.679916,"id":"1abce10a08a704ff","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055529540969,"trace_id":"1abce10a08a704ff0d98188dfbeb98e3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"217","Etag":"W/\"d9-cebOOHODBQMZd1wt+ZZBaSPgQLQ\"","Date":"Mon, 28 Feb 2022 13:38:49 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.45245799999999997,"id":"9977e51d70fb78a8","name":"DNS opbeans-python","timestamp":1646055529623809,"trace_id":"0083cc60728c0c5c9e6d536c71154f82","type":"external","action":"dns","outcome":"success","parent_id":"12f73ef43e288a66","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0083cc60728c0c5c"}} +{"span":{"duration":0.300125,"id":"25fcf82dbedea3af","name":"Connect 172.23.0.11:3000","timestamp":1646055529624266,"trace_id":"0083cc60728c0c5c9e6d536c71154f82","type":"external","action":"connect","outcome":"success","parent_id":"12f73ef43e288a66","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0083cc60728c0c5c"}} +{"span":{"duration":0.860875,"id":"f0d198c48f23b392","name":"SELECT FROM orders","timestamp":1646055529908218,"trace_id":"af06e9733837b5391d9bb8ced3f8d9ce","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"af06e9733837b539","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"af06e9733837b539"}} +{"transaction":{"duration":2.802625,"id":"af06e9733837b539","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055529908200,"trace_id":"af06e9733837b5391d9bb8ced3f8d9ce","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.238458,"id":"8859b0161d2ddc90","name":"SELECT FROM orders","timestamp":1646055538687668,"trace_id":"3b967836cbae3b269de989c4dd4182c7","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4e4122e13940c083","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4e4122e13940c083"}} +{"transaction":{"duration":4.042166,"id":"4e4122e13940c083","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055538687461,"trace_id":"3b967836cbae3b269de989c4dd4182c7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Traceparent":"00-3b967836cbae3b269de989c4dd4182c7-ec668f4166e766b3-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-3b967836cbae3b269de989c4dd4182c7-ec668f4166e766b3-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ec668f4166e766b3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.8802080000000001,"id":"a659b7e7e4589489","name":"SELECT FROM orders","timestamp":1646055540016813,"trace_id":"5edacb2526a2f3de5a14adbe3c784321","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5edacb2526a2f3de","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5edacb2526a2f3de"}} +{"transaction":{"duration":3.1580000000000004,"id":"5edacb2526a2f3de","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055540016789,"trace_id":"5edacb2526a2f3de5a14adbe3c784321","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":15015.723299,"id":"2deb7254c12f439d","name":"GET opbeans-python:3000","timestamp":1646055528427001,"trace_id":"1a86c3632420e69917d05e919e9f9f61","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/4"}},"outcome":"success","parent_id":"e67187ae9aa2262e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":129,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*roundTripper).RoundTrip","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":298,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e67187ae9aa2262e"}} +{"transaction":{"duration":15021.375299000001,"id":"e67187ae9aa2262e","name":"GET /api/products/:id","span_count":{"dropped":0,"started":4},"timestamp":1646055528426947,"trace_id":"1a86c3632420e69917d05e919e9f9f61","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"Elastic-Apm-Traceparent":"00-1a86c3632420e69917d05e919e9f9f61-70f54c03579c9b0e-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-1a86c3632420e69917d05e919e9f9f61-70f54c03579c9b0e-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"status_code":502},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","parent_id":"70f54c03579c9b0e","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":0.7195,"id":"c36dfd9609160693","name":"DNS opbeans-node","timestamp":1646055544189248,"trace_id":"f4d0628df359cc52ea3ca87f2aa16438","type":"external","action":"dns","outcome":"success","parent_id":"85f6bf8322231648","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ef5b8ddbe560082d"}} +{"span":{"duration":0.120583,"id":"4b4ecf24299113d8","name":"Connect 172.23.0.10:3000","timestamp":1646055544189977,"trace_id":"f4d0628df359cc52ea3ca87f2aa16438","type":"external","action":"connect","outcome":"success","parent_id":"85f6bf8322231648","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ef5b8ddbe560082d"}} +{"span":{"duration":14886.746047999999,"id":"d1d0b10363ed3f10","name":"Request","timestamp":1646055529522529,"trace_id":"10988aad5950536c773a47fac4fb55bb","type":"external","action":"request","outcome":"success","parent_id":"001b5e4a573e5bdc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b69b0f06177d657f"}} +{"span":{"duration":0.389,"id":"e3eae9bebb4078e1","name":"Response","timestamp":1646055544409320,"trace_id":"10988aad5950536c773a47fac4fb55bb","type":"external","action":"response","outcome":"success","parent_id":"001b5e4a573e5bdc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b69b0f06177d657f"}} +{"span":{"duration":14887.189341,"id":"001b5e4a573e5bdc","name":"GET opbeans-ruby:3000","timestamp":1646055529522521,"trace_id":"10988aad5950536c773a47fac4fb55bb","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/5/customers?count=orders\u0026limit=50","status_code":200}},"outcome":"success","parent_id":"b69b0f06177d657f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b69b0f06177d657f"}} +{"transaction":{"duration":14887.420841000001,"id":"b69b0f06177d657f","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055529522484,"trace_id":"10988aad5950536c773a47fac4fb55bb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"count=orders\u0026limit=50","full":"http://opbeans-go:3000/api/products/5/customers?count=orders\u0026limit=50"},"headers":{"Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-10988aad5950536c773a47fac4fb55bb-9fcd110a38a41f12-01","Elastic-Apm-Traceparent":"00-10988aad5950536c773a47fac4fb55bb-9fcd110a38a41f12-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"9fcd110a38a41f12","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.9445840000000001,"id":"77585d683ddc8421","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055544449825,"trace_id":"0083cc60728c0c5c9e6d536c71154f82","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Traceparent":"00-0083cc60728c0c5c9e6d536c71154f82-13435c15de499b5e-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-0083cc60728c0c5c9e6d536c71154f82-13435c15de499b5e-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"13435c15de499b5e","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":14850.082965,"id":"f10a3a698fd54304","name":"Request","timestamp":1646055529624577,"trace_id":"0083cc60728c0c5c9e6d536c71154f82","type":"external","action":"request","outcome":"success","parent_id":"12f73ef43e288a66","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0083cc60728c0c5c"}} +{"span":{"duration":1.302542,"id":"8097d28b490f4171","name":"Response","timestamp":1646055544474693,"trace_id":"0083cc60728c0c5c9e6d536c71154f82","type":"external","action":"response","outcome":"success","parent_id":"12f73ef43e288a66","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0083cc60728c0c5c"}} +{"span":{"duration":14852.24459,"id":"12f73ef43e288a66","name":"GET opbeans-python:3000","timestamp":1646055529623755,"trace_id":"0083cc60728c0c5c9e6d536c71154f82","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"0083cc60728c0c5c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0083cc60728c0c5c"}} +{"transaction":{"duration":14852.711924,"id":"0083cc60728c0c5c","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055529623679,"trace_id":"0083cc60728c0c5c9e6d536c71154f82","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"110","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:04 GMT","X-Frame-Options":"DENY","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":31.154917,"id":"017da1fd2c567332","name":"Request","timestamp":1646055544500643,"trace_id":"34707e606bbe6e856c54cceb0713354c","type":"external","action":"request","outcome":"success","parent_id":"2ae4303b372a1124","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"34707e606bbe6e85"}} +{"span":{"duration":0.142125,"id":"b48473d0b624e895","name":"Response","timestamp":1646055544531829,"trace_id":"34707e606bbe6e856c54cceb0713354c","type":"external","action":"response","outcome":"success","parent_id":"2ae4303b372a1124","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"34707e606bbe6e85"}} +{"span":{"duration":31.349957999999997,"id":"2ae4303b372a1124","name":"GET opbeans-ruby:3000","timestamp":1646055544500622,"trace_id":"34707e606bbe6e856c54cceb0713354c","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products","status_code":200}},"outcome":"success","parent_id":"34707e606bbe6e85","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"34707e606bbe6e85"}} +{"transaction":{"duration":31.696666999999998,"id":"34707e606bbe6e85","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055544500524,"trace_id":"34707e606bbe6e856c54cceb0713354c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Request-Id":"db745943-7884-4494-ba17-3926bb341366","Referrer-Policy":"strict-origin-when-cross-origin","Content-Type":"application/json; charset=utf-8","X-Content-Type-Options":"nosniff","Vary":"Accept","Etag":"W/\"e7a2362bf423f315691b319c14409fa6\"","X-Xss-Protection":"1; mode=block","X-Download-Options":"noopen","Cache-Control":"max-age=0, private, must-revalidate","X-Runtime":"0.023905","X-Frame-Options":"SAMEORIGIN","X-Permitted-Cross-Domain-Policies":"none"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":33.2005,"id":"8a274599790ec509","name":"Request","timestamp":1646055544552094,"trace_id":"e349a0d08388e790c2b4c652c21817f6","type":"external","action":"request","outcome":"success","parent_id":"c3b55bfb8b47dc1d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e349a0d08388e790"}} +{"span":{"duration":0.139333,"id":"9231e1b996cce7ff","name":"Response","timestamp":1646055544585322,"trace_id":"e349a0d08388e790c2b4c652c21817f6","type":"external","action":"response","outcome":"success","parent_id":"c3b55bfb8b47dc1d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e349a0d08388e790"}} +{"span":{"duration":33.38575,"id":"c3b55bfb8b47dc1d","name":"GET opbeans-ruby:3000","timestamp":1646055544552076,"trace_id":"e349a0d08388e790c2b4c652c21817f6","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/175","status_code":404}},"outcome":"failure","parent_id":"e349a0d08388e790","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e349a0d08388e790"}} +{"transaction":{"duration":33.889250000000004,"id":"e349a0d08388e790","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055544551885,"trace_id":"e349a0d08388e790c2b4c652c21817f6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/175","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/175"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=UTF-8","X-Request-Id":"0b5876e6-0dc5-4b7d-90c6-d9e04fafe3b7","X-Runtime":"0.027944","Content-Length":"1722"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":1.130333,"id":"644da4369a05b54b","name":"SELECT FROM product_types","timestamp":1646055544607883,"trace_id":"b068b26d6b4e40184508bb66f32cb3cf","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b068b26d6b4e4018","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b068b26d6b4e4018"}} +{"transaction":{"duration":1.332375,"id":"b068b26d6b4e4018","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055544607795,"trace_id":"b068b26d6b4e40184508bb66f32cb3cf","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.631083,"id":"888fb5acdbc134ae","name":"SELECT FROM products","timestamp":1646055544630362,"trace_id":"3c88fc7432af57bccd8a37acc0611468","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3c88fc7432af57bc","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3c88fc7432af57bc"}} +{"transaction":{"duration":0.8227920000000001,"id":"3c88fc7432af57bc","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055544630327,"trace_id":"3c88fc7432af57bccd8a37acc0611468","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.340625,"id":"2d32c240bbd1e217","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055544650470,"trace_id":"2d32c240bbd1e217b9d5dab9e7d662ba","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b9d5dab9e7d662ba","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.268416,"id":"b76986102ca5703f","name":"DNS opbeans-python","timestamp":1646055544669680,"trace_id":"e50f27868ea1bacc6532d8bfc6581bd2","type":"external","action":"dns","outcome":"success","parent_id":"cf9218f1c553b1a0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e50f27868ea1bacc"}} +{"span":{"duration":0.116584,"id":"40e9ab4f2564196e","name":"Connect 172.23.0.11:3000","timestamp":1646055544669953,"trace_id":"e50f27868ea1bacc6532d8bfc6581bd2","type":"external","action":"connect","outcome":"success","parent_id":"cf9218f1c553b1a0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e50f27868ea1bacc"}} +{"span":{"duration":572.981209,"id":"d0164229242b3b31","name":"Request","timestamp":1646055544190127,"trace_id":"f4d0628df359cc52ea3ca87f2aa16438","type":"external","action":"request","outcome":"success","parent_id":"85f6bf8322231648","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ef5b8ddbe560082d"}} +{"span":{"duration":0.202875,"id":"127d2f2069187cde","name":"Response","timestamp":1646055544763133,"trace_id":"f4d0628df359cc52ea3ca87f2aa16438","type":"external","action":"response","outcome":"success","parent_id":"85f6bf8322231648","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ef5b8ddbe560082d"}} +{"span":{"duration":574.204292,"id":"85f6bf8322231648","name":"GET opbeans-node:3000","timestamp":1646055544189132,"trace_id":"f4d0628df359cc52ea3ca87f2aa16438","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/5/customers","status_code":200}},"outcome":"success","parent_id":"ef5b8ddbe560082d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ef5b8ddbe560082d"}} +{"transaction":{"duration":574.602042,"id":"ef5b8ddbe560082d","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055544188896,"trace_id":"f4d0628df359cc52ea3ca87f2aa16438","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Connection":"close","Traceparent":"00-f4d0628df359cc52ea3ca87f2aa16438-158dc97a7583a9f6-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-f4d0628df359cc52ea3ca87f2aa16438-158dc97a7583a9f6-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Request-Id":"a645f8df-5df0-4572-a0cd-06a60199f52e","X-Download-Options":"noopen","Referrer-Policy":"strict-origin-when-cross-origin","Cache-Control":"max-age=0, private, must-revalidate","Date":"Mon, 28 Feb 2022 13:39:04 GMT","X-Xss-Protection":"1; mode=block","Etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","X-Runtime":"0.051778","X-Powered-By":"Express","X-Frame-Options":"SAMEORIGIN","Content-Type":"application/json; charset=utf-8","X-Content-Type-Options":"nosniff","X-Permitted-Cross-Domain-Policies":"none"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"158dc97a7583a9f6","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":339.660625,"id":"720e18bf49e8d628","name":"Request","timestamp":1646055544670080,"trace_id":"e50f27868ea1bacc6532d8bfc6581bd2","type":"external","action":"request","outcome":"success","parent_id":"cf9218f1c553b1a0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e50f27868ea1bacc"}} +{"span":{"duration":0.21366700000000002,"id":"cccfabd6057490e3","name":"Response","timestamp":1646055545009774,"trace_id":"e50f27868ea1bacc6532d8bfc6581bd2","type":"external","action":"response","outcome":"success","parent_id":"cf9218f1c553b1a0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e50f27868ea1bacc"}} +{"span":{"duration":340.370792,"id":"cf9218f1c553b1a0","name":"GET opbeans-python:3000","timestamp":1646055544669618,"trace_id":"e50f27868ea1bacc6532d8bfc6581bd2","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers/9012","status_code":404}},"outcome":"failure","parent_id":"e50f27868ea1bacc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e50f27868ea1bacc"}} +{"transaction":{"duration":340.752417,"id":"e50f27868ea1bacc","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055544669440,"trace_id":"e50f27868ea1bacc6532d8bfc6581bd2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/9012","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/9012"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"same-origin","Content-Type":"text/html","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:05 GMT","X-Frame-Options":"DENY","Content-Length":"179","Vary":"Cookie"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":1.917958,"id":"870adf31baec9813","name":"SELECT FROM customers","timestamp":1646055545031888,"trace_id":"16eaac9e2dd00638878467f44b639540","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"16eaac9e2dd00638","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"16eaac9e2dd00638"}} +{"transaction":{"duration":3.4702499999999996,"id":"16eaac9e2dd00638","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055545031854,"trace_id":"16eaac9e2dd00638878467f44b639540","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","search":"limit=100","full":"http://opbeans-go:3000/api/products/2/customers?limit=100"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.5560829999999999,"id":"efb0ff9e36e7ccf1","name":"DNS opbeans-python","timestamp":1646055545066394,"trace_id":"da988ecb255c904c8fda58a8341d61d2","type":"external","action":"dns","outcome":"success","parent_id":"68b2e6892e883852","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cbbb2560bca434b5"}} +{"span":{"duration":0.108959,"id":"3746de9d53d6e7a7","name":"Connect 172.23.0.11:3000","timestamp":1646055545067959,"trace_id":"da988ecb255c904c8fda58a8341d61d2","type":"external","action":"connect","outcome":"success","parent_id":"68b2e6892e883852","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cbbb2560bca434b5"}} +{"span":{"duration":73.2685,"id":"e6fc09e69fec3c2a","name":"Request","timestamp":1646055545054497,"trace_id":"096bb82cba03ed6e1df2ba0d8d8c169d","type":"external","action":"request","outcome":"success","parent_id":"43e816ec4f63fed0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"096bb82cba03ed6e"}} +{"span":{"duration":1.648833,"id":"308bd9e13f5e1e0d","name":"Response","timestamp":1646055545127797,"trace_id":"096bb82cba03ed6e1df2ba0d8d8c169d","type":"external","action":"response","outcome":"success","parent_id":"43e816ec4f63fed0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"096bb82cba03ed6e"}} +{"span":{"duration":74.975709,"id":"43e816ec4f63fed0","name":"GET opbeans-ruby:3000","timestamp":1646055545054472,"trace_id":"096bb82cba03ed6e1df2ba0d8d8c169d","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"096bb82cba03ed6e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"096bb82cba03ed6e"}} +{"transaction":{"duration":75.34858299999999,"id":"096bb82cba03ed6e","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055545054316,"trace_id":"096bb82cba03ed6e1df2ba0d8d8c169d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Accept","Cache-Control":"max-age=0, private, must-revalidate","X-Permitted-Cross-Domain-Policies":"none","X-Xss-Protection":"1; mode=block","X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","X-Request-Id":"1f823a52-bf69-442b-bb2d-99841d579112","X-Frame-Options":"SAMEORIGIN","Referrer-Policy":"strict-origin-when-cross-origin","Content-Type":"application/json; charset=utf-8","Etag":"W/\"6b84b8cfae4908f93f790804f2c9e7c9\"","X-Runtime":"0.053107"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.264375,"id":"7c1f69656c209518","name":"SELECT FROM customers","timestamp":1646055545147575,"trace_id":"ac21cbc2892b435a33a6e6f388b3a984","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ac21cbc2892b435a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ac21cbc2892b435a"}} +{"transaction":{"duration":4.151417,"id":"ac21cbc2892b435a","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055545147528,"trace_id":"ac21cbc2892b435a33a6e6f388b3a984","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":104.540042,"id":"cdbc6689b9c0369e","name":"Request","timestamp":1646055545068106,"trace_id":"da988ecb255c904c8fda58a8341d61d2","type":"external","action":"request","outcome":"success","parent_id":"68b2e6892e883852","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cbbb2560bca434b5"}} +{"span":{"duration":2.073833,"id":"0e6bffe3e8928d0b","name":"Response","timestamp":1646055545172676,"trace_id":"da988ecb255c904c8fda58a8341d61d2","type":"external","action":"response","outcome":"success","parent_id":"68b2e6892e883852","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cbbb2560bca434b5"}} +{"span":{"duration":108.405792,"id":"68b2e6892e883852","name":"GET opbeans-python:3000","timestamp":1646055545066348,"trace_id":"da988ecb255c904c8fda58a8341d61d2","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"cbbb2560bca434b5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cbbb2560bca434b5"}} +{"transaction":{"duration":108.683583,"id":"cbbb2560bca434b5","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055545066290,"trace_id":"da988ecb255c904c8fda58a8341d61d2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Elastic-Apm-Traceparent":"00-da988ecb255c904c8fda58a8341d61d2-3ed08735c02b1897-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-da988ecb255c904c8fda58a8341d61d2-3ed08735c02b1897-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Server":"gunicorn","Content-Type":"application/json; charset=utf-8","Vary":"Cookie","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:05 GMT","X-Frame-Options":"DENY","Content-Length":"352","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"3ed08735c02b1897","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.439667,"id":"1589d7a9d70ce928","name":"DNS opbeans-node","timestamp":1646055545212445,"trace_id":"8a51cceb41f0c30bc002faebffca174c","type":"external","action":"dns","outcome":"success","parent_id":"17aed628f88f941c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ae9c374fff2851b3"}} +{"span":{"duration":0.135666,"id":"6524176e52b747bf","name":"Connect 172.23.0.10:3000","timestamp":1646055545212897,"trace_id":"8a51cceb41f0c30bc002faebffca174c","type":"external","action":"connect","outcome":"success","parent_id":"17aed628f88f941c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ae9c374fff2851b3"}} +{"span":{"duration":0.305792,"id":"44a07d0b84a9dd87","name":"DNS opbeans-ruby","timestamp":1646055545220824,"trace_id":"6623432a5a676c512016fe41ff674cb8","type":"external","action":"dns","outcome":"success","parent_id":"00ad5cf0d9507897","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b573866afb3380c9"}} +{"span":{"duration":0.117209,"id":"3800a8385a22915c","name":"Connect 172.23.0.12:3000","timestamp":1646055545221136,"trace_id":"6623432a5a676c512016fe41ff674cb8","type":"external","action":"connect","outcome":"success","parent_id":"00ad5cf0d9507897","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b573866afb3380c9"}} +{"span":{"duration":67.964167,"id":"6ce8df438cd437a1","name":"Request","timestamp":1646055545213046,"trace_id":"8a51cceb41f0c30bc002faebffca174c","type":"external","action":"request","outcome":"success","parent_id":"17aed628f88f941c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ae9c374fff2851b3"}} +{"span":{"duration":0.15754100000000001,"id":"ccda4f0e33cc7ca6","name":"Response","timestamp":1646055545281075,"trace_id":"8a51cceb41f0c30bc002faebffca174c","type":"external","action":"response","outcome":"success","parent_id":"17aed628f88f941c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ae9c374fff2851b3"}} +{"span":{"duration":68.84991699999999,"id":"17aed628f88f941c","name":"GET opbeans-node:3000","timestamp":1646055545212384,"trace_id":"8a51cceb41f0c30bc002faebffca174c","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"ae9c374fff2851b3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ae9c374fff2851b3"}} +{"transaction":{"duration":69.700167,"id":"ae9c374fff2851b3","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055545212323,"trace_id":"8a51cceb41f0c30bc002faebffca174c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Traceparent":"00-8a51cceb41f0c30bc002faebffca174c-cd9fcce9c0aaf162-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-8a51cceb41f0c30bc002faebffca174c-cd9fcce9c0aaf162-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"189","Etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","Date":"Mon, 28 Feb 2022 13:39:05 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"cd9fcce9c0aaf162","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":70.796875,"id":"b07e8869c8a5f928","name":"Request","timestamp":1646055545221271,"trace_id":"6623432a5a676c512016fe41ff674cb8","type":"external","action":"request","outcome":"success","parent_id":"00ad5cf0d9507897","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b573866afb3380c9"}} +{"span":{"duration":0.181125,"id":"06bed9ecddaa0a16","name":"Response","timestamp":1646055545292099,"trace_id":"6623432a5a676c512016fe41ff674cb8","type":"external","action":"response","outcome":"success","parent_id":"00ad5cf0d9507897","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b573866afb3380c9"}} +{"span":{"duration":71.516751,"id":"00ad5cf0d9507897","name":"GET opbeans-ruby:3000","timestamp":1646055545220764,"trace_id":"6623432a5a676c512016fe41ff674cb8","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types/1","status_code":200}},"outcome":"success","parent_id":"b573866afb3380c9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b573866afb3380c9"}} +{"transaction":{"duration":71.79279199999999,"id":"b573866afb3380c9","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055545220696,"trace_id":"6623432a5a676c512016fe41ff674cb8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-6623432a5a676c512016fe41ff674cb8-5a3dbd92d04e681c-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-6623432a5a676c512016fe41ff674cb8-5a3dbd92d04e681c-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","Etag":"W/\"658ac86b5b65e3d6724bd91007f7bcdd\"","X-Download-Options":"noopen","X-Request-Id":"acc52dcf-33c5-4f25-99e4-88c3e958b03b","X-Runtime":"0.031424","X-Xss-Protection":"1; mode=block","X-Permitted-Cross-Domain-Policies":"none","Cache-Control":"max-age=0, private, must-revalidate","Referrer-Policy":"strict-origin-when-cross-origin","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"5a3dbd92d04e681c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":142.529834,"id":"8e6e03311afb21af","name":"Request","timestamp":1646055545170658,"trace_id":"6623432a5a676c512016fe41ff674cb8","type":"external","action":"request","outcome":"success","parent_id":"bea45d37c3f52da5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6623432a5a676c51"}} +{"span":{"duration":0.15620799999999999,"id":"b7f1c4b45d7297f5","name":"Response","timestamp":1646055545313210,"trace_id":"6623432a5a676c512016fe41ff674cb8","type":"external","action":"response","outcome":"success","parent_id":"bea45d37c3f52da5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6623432a5a676c51"}} +{"span":{"duration":142.848417,"id":"bea45d37c3f52da5","name":"GET opbeans-ruby:3000","timestamp":1646055545170519,"trace_id":"6623432a5a676c512016fe41ff674cb8","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types/1","status_code":200}},"outcome":"success","parent_id":"6623432a5a676c51","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6623432a5a676c51"}} +{"transaction":{"duration":143.284667,"id":"6623432a5a676c51","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055545170355,"trace_id":"6623432a5a676c512016fe41ff674cb8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.421625,"id":"728e8b8b1fa7585e","name":"SELECT FROM product_types","timestamp":1646055545326469,"trace_id":"e5d4bd86ffc91fa45a253c5b77f2baec","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9a5ea3bcb23bf97a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9a5ea3bcb23bf97a"}} +{"transaction":{"duration":0.549667,"id":"9a5ea3bcb23bf97a","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055545326454,"trace_id":"e5d4bd86ffc91fa45a253c5b77f2baec","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Connection":"keep-alive","Traceparent":"00-e5d4bd86ffc91fa45a253c5b77f2baec-5dd90538c8fe25ad-01","Elastic-Apm-Traceparent":"00-e5d4bd86ffc91fa45a253c5b77f2baec-5dd90538c8fe25ad-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"5dd90538c8fe25ad","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.471917,"id":"e38e9534f318df64","name":"SELECT FROM orders","timestamp":1646055545332520,"trace_id":"0a7b898bc27543a99b756982538ea313","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0a7b898bc27543a9","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0a7b898bc27543a9"}} +{"span":{"duration":0.588792,"id":"2d43fa3e848c6844","name":"SELECT FROM products","timestamp":1646055545333075,"trace_id":"0a7b898bc27543a99b756982538ea313","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0a7b898bc27543a9","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0a7b898bc27543a9"}} +{"transaction":{"duration":1.265667,"id":"0a7b898bc27543a9","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055545332496,"trace_id":"0a7b898bc27543a99b756982538ea313","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/689","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/689"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.43158399999999997,"id":"b1ef84af8b5acf09","name":"DNS opbeans-python","timestamp":1646055545353490,"trace_id":"9f3061c3965960cde64bc45fecd80c67","type":"external","action":"dns","outcome":"success","parent_id":"08d8e823db50cf51","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9f3061c3965960cd"}} +{"span":{"duration":0.12720900000000002,"id":"5067287604df9965","name":"Connect 172.23.0.11:3000","timestamp":1646055545353932,"trace_id":"9f3061c3965960cde64bc45fecd80c67","type":"external","action":"connect","outcome":"success","parent_id":"08d8e823db50cf51","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9f3061c3965960cd"}} +{"span":{"duration":54.1335,"id":"65680952e82fff4b","name":"Request","timestamp":1646055545354080,"trace_id":"9f3061c3965960cde64bc45fecd80c67","type":"external","action":"request","outcome":"success","parent_id":"08d8e823db50cf51","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9f3061c3965960cd"}} +{"span":{"duration":0.08545799999999999,"id":"b01f3bd75dd4e628","name":"Response","timestamp":1646055545408250,"trace_id":"9f3061c3965960cde64bc45fecd80c67","type":"external","action":"response","outcome":"success","parent_id":"08d8e823db50cf51","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9f3061c3965960cd"}} +{"span":{"duration":54.954708,"id":"08d8e823db50cf51","name":"GET opbeans-python:3000","timestamp":1646055545353384,"trace_id":"9f3061c3965960cde64bc45fecd80c67","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/2/customers?limit=60","status_code":200}},"outcome":"success","parent_id":"9f3061c3965960cd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9f3061c3965960cd"}} +{"transaction":{"duration":57.568334,"id":"9f3061c3965960cd","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055545353149,"trace_id":"9f3061c3965960cde64bc45fecd80c67","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","search":"limit=60","full":"http://opbeans-go:3000/api/products/2/customers?limit=60"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"4827","Date":"Mon, 28 Feb 2022 13:39:05 GMT","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Vary":"Cookie","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.45191699999999996,"id":"a1882ec627b1768a","name":"SELECT FROM products","timestamp":1646055545428397,"trace_id":"8e4a3ea7c88ca43c4cb2d8d386d287a9","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8e4a3ea7c88ca43c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8e4a3ea7c88ca43c"}} +{"transaction":{"duration":0.5792080000000001,"id":"8e4a3ea7c88ca43c","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055545428373,"trace_id":"8e4a3ea7c88ca43c4cb2d8d386d287a9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":120.922958,"id":"5ccb89eebc511060","name":"Request","timestamp":1646055545453157,"trace_id":"9a9f3cc2ab1556f9c366067f5f3136a1","type":"external","action":"request","outcome":"success","parent_id":"a81442ab3ab3f060","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9a9f3cc2ab1556f9"}} +{"span":{"duration":0.14558400000000002,"id":"dad07789401d8aee","name":"Response","timestamp":1646055545574103,"trace_id":"9a9f3cc2ab1556f9c366067f5f3136a1","type":"external","action":"response","outcome":"success","parent_id":"a81442ab3ab3f060","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9a9f3cc2ab1556f9"}} +{"span":{"duration":121.11725,"id":"a81442ab3ab3f060","name":"GET opbeans-ruby:3000","timestamp":1646055545453133,"trace_id":"9a9f3cc2ab1556f9c366067f5f3136a1","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products","status_code":200}},"outcome":"success","parent_id":"9a9f3cc2ab1556f9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9a9f3cc2ab1556f9"}} +{"transaction":{"duration":121.29670800000001,"id":"9a9f3cc2ab1556f9","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055545453061,"trace_id":"9a9f3cc2ab1556f9c366067f5f3136a1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.446625,"id":"a1284aafd1dbc4f4","name":"DNS opbeans-python","timestamp":1646055545594374,"trace_id":"daad4b2edd03c9ce1416d03ab552020e","type":"external","action":"dns","outcome":"success","parent_id":"a615ae4031e3f89b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"daad4b2edd03c9ce"}} +{"span":{"duration":0.111333,"id":"7bd9395df0e858e1","name":"Connect 172.23.0.11:3000","timestamp":1646055545594825,"trace_id":"daad4b2edd03c9ce1416d03ab552020e","type":"external","action":"connect","outcome":"success","parent_id":"a615ae4031e3f89b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"daad4b2edd03c9ce"}} +{"span":{"duration":53.199834,"id":"6fd5c4b463a85599","name":"Request","timestamp":1646055545594946,"trace_id":"daad4b2edd03c9ce1416d03ab552020e","type":"external","action":"request","outcome":"success","parent_id":"a615ae4031e3f89b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"daad4b2edd03c9ce"}} +{"span":{"duration":0.103333,"id":"bd0c23a26f0eb719","name":"Response","timestamp":1646055545648171,"trace_id":"daad4b2edd03c9ce1416d03ab552020e","type":"external","action":"response","outcome":"success","parent_id":"a615ae4031e3f89b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"daad4b2edd03c9ce"}} +{"span":{"duration":53.94375,"id":"a615ae4031e3f89b","name":"GET opbeans-python:3000","timestamp":1646055545594331,"trace_id":"daad4b2edd03c9ce1416d03ab552020e","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/3/customers?limit=100","status_code":200}},"outcome":"success","parent_id":"daad4b2edd03c9ce","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"daad4b2edd03c9ce"}} +{"transaction":{"duration":54.144541999999994,"id":"daad4b2edd03c9ce","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055545594220,"trace_id":"daad4b2edd03c9ce1416d03ab552020e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","search":"limit=100","full":"http://opbeans-go:3000/api/products/3/customers?limit=100"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:05 GMT","X-Frame-Options":"DENY","Content-Length":"2247","Vary":"Cookie","Content-Type":"application/json; charset=utf-8","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.857542,"id":"3a239cc8f20ffa2b","name":"SELECT FROM customers","timestamp":1646055545666485,"trace_id":"418a6cbead7e05f689a523e50499c22f","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"418a6cbead7e05f6","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"418a6cbead7e05f6"}} +{"transaction":{"duration":3.188209,"id":"418a6cbead7e05f6","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055545666455,"trace_id":"418a6cbead7e05f689a523e50499c22f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=80","full":"http://opbeans-go:3000/api/products/5/customers?limit=80"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.582417,"id":"c715650d144be85d","name":"SELECT FROM products","timestamp":1646055545669425,"trace_id":"6118bf4117f8c4d1d118a2372c4d9cc5","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b3782746dad17db6","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b3782746dad17db6"}} +{"transaction":{"duration":0.6823750000000001,"id":"b3782746dad17db6","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055545669382,"trace_id":"6118bf4117f8c4d1d118a2372c4d9cc5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-6118bf4117f8c4d1d118a2372c4d9cc5-fe81f14d2424a4b9-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-6118bf4117f8c4d1d118a2372c4d9cc5-fe81f14d2424a4b9-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"fe81f14d2424a4b9","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.911458,"id":"1cd189f19187a7af","name":"SELECT FROM customers","timestamp":1646055545690771,"trace_id":"4a1188f32137fd6ed8383aa4f4b88426","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"45a9caa5bb262d83","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"45a9caa5bb262d83"}} +{"span":{"duration":2.273209,"id":"73f5ec91ca1cfe27","name":"Request","timestamp":1646055545690634,"trace_id":"4a1188f32137fd6ed8383aa4f4b88426","type":"external","action":"request","outcome":"success","parent_id":"b6e2ce989162dc58","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4a1188f32137fd6e"}} +{"transaction":{"duration":2.210625,"id":"45a9caa5bb262d83","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055545690754,"trace_id":"4a1188f32137fd6ed8383aa4f4b88426","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","search":"limit=90","full":"http://opbeans-go:3000/api/products/1/customers?limit=90"},"headers":{"Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-4a1188f32137fd6ed8383aa4f4b88426-b6e2ce989162dc58-01","Traceparent":"00-4a1188f32137fd6ed8383aa4f4b88426-b6e2ce989162dc58-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b6e2ce989162dc58","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.32537499999999997,"id":"6af2c37315f138d9","name":"Response","timestamp":1646055545692912,"trace_id":"4a1188f32137fd6ed8383aa4f4b88426","type":"external","action":"response","outcome":"success","parent_id":"b6e2ce989162dc58","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4a1188f32137fd6e"}} +{"span":{"duration":2.6243339999999997,"id":"b6e2ce989162dc58","name":"GET opbeans-go:3000","timestamp":1646055545690614,"trace_id":"4a1188f32137fd6ed8383aa4f4b88426","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/1/customers?limit=90","status_code":200}},"outcome":"success","parent_id":"4a1188f32137fd6e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4a1188f32137fd6e"}} +{"transaction":{"duration":2.826958,"id":"4a1188f32137fd6e","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055545690473,"trace_id":"4a1188f32137fd6ed8383aa4f4b88426","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","search":"limit=90","full":"http://opbeans-go:3000/api/products/1/customers?limit=90"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:05 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.041625,"id":"dc53bd97fe261b8c","name":"SELECT FROM customers","timestamp":1646055545717956,"trace_id":"d7970c0de658c5e464d4e8bfa2ad13c2","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d7970c0de658c5e4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d7970c0de658c5e4"}} +{"transaction":{"duration":2.4420420000000003,"id":"d7970c0de658c5e4","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055545717933,"trace_id":"d7970c0de658c5e464d4e8bfa2ad13c2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","search":"limit=60","full":"http://opbeans-go:3000/api/products/2/customers?limit=60"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":85.065875,"id":"74ba88a58a55f758","name":"Request","timestamp":1646055545740758,"trace_id":"80967fdb0e10d7f4b4794d11103711a5","type":"external","action":"request","outcome":"success","parent_id":"452576a98aa95274","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"80967fdb0e10d7f4"}} +{"span":{"duration":2.668125,"id":"09aa0a0eb9d334a6","name":"Response","timestamp":1646055545825853,"trace_id":"80967fdb0e10d7f4b4794d11103711a5","type":"external","action":"response","outcome":"success","parent_id":"452576a98aa95274","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"80967fdb0e10d7f4"}} +{"span":{"duration":87.784042,"id":"452576a98aa95274","name":"GET opbeans-ruby:3000","timestamp":1646055545740740,"trace_id":"80967fdb0e10d7f4b4794d11103711a5","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products","status_code":200}},"outcome":"success","parent_id":"80967fdb0e10d7f4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"80967fdb0e10d7f4"}} +{"transaction":{"duration":88.0835,"id":"80967fdb0e10d7f4","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055545740586,"trace_id":"80967fdb0e10d7f4b4794d11103711a5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","X-Frame-Options":"SAMEORIGIN","Vary":"Accept","Cache-Control":"max-age=0, private, must-revalidate","Referrer-Policy":"strict-origin-when-cross-origin","X-Xss-Protection":"1; mode=block","X-Runtime":"0.051042","Etag":"W/\"e7a2362bf423f315691b319c14409fa6\"","Content-Type":"application/json; charset=utf-8","X-Request-Id":"26f2c379-5e0d-4372-b352-8c858fce190b"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.453625,"id":"1f151a86fe59f2bc","name":"SELECT FROM orders","timestamp":1646055545848226,"trace_id":"25632541e8c9853b2bcab3a6b6fc82af","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"182a03fd15f1d72f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"182a03fd15f1d72f"}} +{"span":{"duration":0.5875830000000001,"id":"e00d49de0dce436f","name":"SELECT FROM products","timestamp":1646055545848708,"trace_id":"25632541e8c9853b2bcab3a6b6fc82af","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"182a03fd15f1d72f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"182a03fd15f1d72f"}} +{"transaction":{"duration":1.185791,"id":"182a03fd15f1d72f","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055545848213,"trace_id":"25632541e8c9853b2bcab3a6b6fc82af","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/456","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/456"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-25632541e8c9853b2bcab3a6b6fc82af-5498f23836d466f3-01","Traceparent":"00-25632541e8c9853b2bcab3a6b6fc82af-5498f23836d466f3-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"5498f23836d466f3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.539917,"id":"e12991e75446f715","name":"Request","timestamp":1646055545848074,"trace_id":"25632541e8c9853b2bcab3a6b6fc82af","type":"external","action":"request","outcome":"success","parent_id":"5498f23836d466f3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"25632541e8c9853b"}} +{"span":{"duration":0.038208,"id":"b673f7137cd97488","name":"Response","timestamp":1646055545849624,"trace_id":"25632541e8c9853b2bcab3a6b6fc82af","type":"external","action":"response","outcome":"success","parent_id":"5498f23836d466f3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"25632541e8c9853b"}} +{"span":{"duration":1.6080409999999998,"id":"5498f23836d466f3","name":"GET opbeans-go:3000","timestamp":1646055545848056,"trace_id":"25632541e8c9853b2bcab3a6b6fc82af","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/456","status_code":200}},"outcome":"success","parent_id":"25632541e8c9853b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"25632541e8c9853b"}} +{"transaction":{"duration":1.720875,"id":"25632541e8c9853b","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055545847985,"trace_id":"25632541e8c9853b2bcab3a6b6fc82af","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/456","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/456"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:05 GMT","Content-Length":"315"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.41970799999999997,"id":"05429a0ff8820912","name":"SELECT FROM customers","timestamp":1646055545870245,"trace_id":"3070ea058eb8bb175642018b3c5f6ee0","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3070ea058eb8bb17","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3070ea058eb8bb17"}} +{"transaction":{"duration":0.755625,"id":"3070ea058eb8bb17","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055545870217,"trace_id":"3070ea058eb8bb175642018b3c5f6ee0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/230","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/230"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.4425,"id":"7a73b6fa64997f63","name":"SELECT FROM product_types","timestamp":1646055545890311,"trace_id":"4a371972200ab216659c9a0c2f464e27","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4a371972200ab216","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4a371972200ab216"}} +{"transaction":{"duration":0.732459,"id":"4a371972200ab216","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055545890271,"trace_id":"4a371972200ab216659c9a0c2f464e27","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.817542,"id":"b9e4bb4119f49d91","name":"SELECT FROM products","timestamp":1646055545914431,"trace_id":"c7a3216c9c2f87371f00d4e019788c6a","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c7a3216c9c2f8737","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c7a3216c9c2f8737"}} +{"transaction":{"duration":2.3517910000000004,"id":"c7a3216c9c2f8737","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055545914409,"trace_id":"c7a3216c9c2f87371f00d4e019788c6a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.110666,"id":"388d9deb992a2b0a","name":"DNS opbeans-python","timestamp":1646055545943783,"trace_id":"748679dfe0d32927f3471affdc5f779c","type":"external","action":"dns","outcome":"success","parent_id":"7496988524b9774b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"748679dfe0d32927"}} +{"span":{"duration":0.193083,"id":"1e10f893255731ce","name":"Connect 172.23.0.11:3000","timestamp":1646055545944903,"trace_id":"748679dfe0d32927f3471affdc5f779c","type":"external","action":"connect","outcome":"success","parent_id":"7496988524b9774b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"748679dfe0d32927"}} +{"span":{"duration":0.29875,"id":"17e9afcd1b88bbea","name":"SELECT FROM product_types","timestamp":1646055546011143,"trace_id":"bc333b839b350cee5768a041822d7785","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ce349ebd76837c70","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ce349ebd76837c70"}} +{"transaction":{"duration":0.9991659999999999,"id":"ce349ebd76837c70","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055546011110,"trace_id":"bc333b839b350cee5768a041822d7785","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Traceparent":"00-bc333b839b350cee5768a041822d7785-7044d044e63326b6-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-bc333b839b350cee5768a041822d7785-7044d044e63326b6-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"7044d044e63326b6","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":121.351417,"id":"272071766699ac0f","name":"Request","timestamp":1646055545945109,"trace_id":"748679dfe0d32927f3471affdc5f779c","type":"external","action":"request","outcome":"success","parent_id":"7496988524b9774b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"748679dfe0d32927"}} +{"span":{"duration":3.061584,"id":"7bc8135e5b5f0088","name":"Response","timestamp":1646055546066631,"trace_id":"748679dfe0d32927f3471affdc5f779c","type":"external","action":"response","outcome":"success","parent_id":"7496988524b9774b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"748679dfe0d32927"}} +{"span":{"duration":126.29158300000002,"id":"7496988524b9774b","name":"GET opbeans-python:3000","timestamp":1646055545943405,"trace_id":"748679dfe0d32927f3471affdc5f779c","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"748679dfe0d32927","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"748679dfe0d32927"}} +{"transaction":{"duration":126.604875,"id":"748679dfe0d32927","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055545943195,"trace_id":"748679dfe0d32927f3471affdc5f779c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:06 GMT","X-Frame-Options":"DENY","Content-Length":"203686","Vary":"Cookie","Server":"gunicorn","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.440542,"id":"25d4a2d27022bcf4","name":"SELECT FROM products","timestamp":1646055546086661,"trace_id":"361378a04c56e7fad6bb4c2554489040","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"361378a04c56e7fa","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"361378a04c56e7fa"}} +{"transaction":{"duration":0.753083,"id":"361378a04c56e7fa","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055546086614,"trace_id":"361378a04c56e7fad6bb4c2554489040","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.713708,"id":"d7caa8c40a47fd2f","name":"DNS opbeans-python","timestamp":1646055546126341,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"external","action":"dns","outcome":"success","parent_id":"c2d2897fb959f093","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c1808ab439c0bb89"}} +{"span":{"duration":0.147584,"id":"1aecb7e96c1caeab","name":"Connect 172.23.0.11:3000","timestamp":1646055546127066,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"external","action":"connect","outcome":"success","parent_id":"c2d2897fb959f093","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c1808ab439c0bb89"}} +{"span":{"duration":0.263917,"id":"0a29bfa24cb7278b","name":"DNS opbeans-python","timestamp":1646055546147717,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"external","action":"dns","outcome":"success","parent_id":"830fbefcaab05fca","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"310a68d1fa5330ad"}} +{"span":{"duration":0.09375,"id":"bf5c1a14f7aa8b27","name":"Connect 172.23.0.11:3000","timestamp":1646055546147985,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"external","action":"connect","outcome":"success","parent_id":"830fbefcaab05fca","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"310a68d1fa5330ad"}} +{"span":{"duration":20.119958,"id":"f5cb55ee75a45124","name":"Request","timestamp":1646055546148090,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"external","action":"request","outcome":"success","parent_id":"830fbefcaab05fca","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"310a68d1fa5330ad"}} +{"span":{"duration":0.422333,"id":"4e9a3fe97fb2dafe","name":"Response","timestamp":1646055546168233,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"external","action":"response","outcome":"success","parent_id":"830fbefcaab05fca","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"310a68d1fa5330ad"}} +{"span":{"duration":21.142625000000002,"id":"830fbefcaab05fca","name":"GET opbeans-python:3000","timestamp":1646055546147514,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers/516","status_code":200}},"outcome":"success","parent_id":"310a68d1fa5330ad","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"310a68d1fa5330ad"}} +{"transaction":{"duration":21.362834,"id":"310a68d1fa5330ad","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055546147437,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/516","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/516"},"headers":{"Elastic-Apm-Traceparent":"00-7b85dcedfb5ce7d2687f85879c4ad31e-e43a154b1c5ad5eb-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-7b85dcedfb5ce7d2687f85879c4ad31e-e43a154b1c5ad5eb-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Length":"213","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:06 GMT","Content-Type":"application/json","X-Frame-Options":"DENY","Vary":"Cookie","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e43a154b1c5ad5eb","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":48.848291,"id":"0ee79c1316fdbd4b","name":"Request","timestamp":1646055546127359,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"external","action":"request","outcome":"success","parent_id":"c2d2897fb959f093","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c1808ab439c0bb89"}} +{"span":{"duration":0.186083,"id":"49c25016be01a3da","name":"Response","timestamp":1646055546176238,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"external","action":"response","outcome":"success","parent_id":"c2d2897fb959f093","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c1808ab439c0bb89"}} +{"span":{"duration":50.134625,"id":"c2d2897fb959f093","name":"GET opbeans-python:3000","timestamp":1646055546126291,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers/516","status_code":200}},"outcome":"success","parent_id":"c1808ab439c0bb89","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c1808ab439c0bb89"}} +{"transaction":{"duration":50.656125,"id":"c1808ab439c0bb89","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055546126071,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/516","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/516"},"headers":{"Traceparent":"00-7b85dcedfb5ce7d2687f85879c4ad31e-0b5ff6364d59938a-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-7b85dcedfb5ce7d2687f85879c4ad31e-0b5ff6364d59938a-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:06 GMT","Content-Type":"application/json","X-Frame-Options":"DENY","Server":"gunicorn","Content-Length":"213","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"0b5ff6364d59938a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":80.15612499999999,"id":"158651933e87a983","name":"Request","timestamp":1646055546107323,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"external","action":"request","outcome":"success","parent_id":"58cce669f7a3e33a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7b85dcedfb5ce7d2"}} +{"span":{"duration":0.285334,"id":"f546e284412beab0","name":"Response","timestamp":1646055546187519,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"external","action":"response","outcome":"success","parent_id":"58cce669f7a3e33a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7b85dcedfb5ce7d2"}} +{"span":{"duration":80.505458,"id":"58cce669f7a3e33a","name":"GET opbeans-node:3000","timestamp":1646055546107300,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/516","status_code":200}},"outcome":"success","parent_id":"7b85dcedfb5ce7d2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7b85dcedfb5ce7d2"}} +{"transaction":{"duration":81.109792,"id":"7b85dcedfb5ce7d2","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055546106943,"trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/516","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/516"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"213","Content-Type":"application/json","Referrer-Policy":"same-origin","X-Powered-By":"Express","Date":"Mon, 28 Feb 2022 13:39:06 GMT","X-Frame-Options":"DENY","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":45.808416,"id":"903e2cc1402d24c7","name":"Request","timestamp":1646055546206116,"trace_id":"e7053cb6acd813f310e2e0d4544e1d13","type":"external","action":"request","outcome":"success","parent_id":"bd3e0f9a1320bae1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e7053cb6acd813f3"}} +{"span":{"duration":0.172125,"id":"cb6367065f16bedd","name":"Response","timestamp":1646055546251952,"trace_id":"e7053cb6acd813f310e2e0d4544e1d13","type":"external","action":"response","outcome":"success","parent_id":"bd3e0f9a1320bae1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e7053cb6acd813f3"}} +{"span":{"duration":46.035,"id":"bd3e0f9a1320bae1","name":"GET opbeans-ruby:3000","timestamp":1646055546206091,"trace_id":"e7053cb6acd813f310e2e0d4544e1d13","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"e7053cb6acd813f3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e7053cb6acd813f3"}} +{"transaction":{"duration":46.313874999999996,"id":"e7053cb6acd813f3","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055546206034,"trace_id":"e7053cb6acd813f310e2e0d4544e1d13","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Runtime":"0.024173","X-Xss-Protection":"1; mode=block","X-Permitted-Cross-Domain-Policies":"none","X-Content-Type-Options":"nosniff","X-Request-Id":"19286330-84a5-45de-b11d-32ea06ced277","Vary":"Accept","Cache-Control":"max-age=0, private, must-revalidate","X-Frame-Options":"SAMEORIGIN","X-Download-Options":"noopen","Content-Type":"application/json; charset=utf-8","Referrer-Policy":"strict-origin-when-cross-origin","Etag":"W/\"32a6f2ac22b5ec871f35104a05ba3759\""},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.8089580000000001,"id":"bab4db2d0c14bcf3","name":"SELECT FROM customers","timestamp":1646055546272908,"trace_id":"8312e7993475e83cd988b17f11a34bcc","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8312e7993475e83c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8312e7993475e83c"}} +{"transaction":{"duration":2.812,"id":"8312e7993475e83c","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055546272887,"trace_id":"8312e7993475e83cd988b17f11a34bcc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.45475000000000004,"id":"76e76f665268d46d","name":"SELECT FROM customers","timestamp":1646055546294656,"trace_id":"39fcca816468c9b43ef5a5b3c305859c","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"39fcca816468c9b4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"39fcca816468c9b4"}} +{"transaction":{"duration":0.558875,"id":"39fcca816468c9b4","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055546294636,"trace_id":"39fcca816468c9b43ef5a5b3c305859c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/486","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/486"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":47.040541999999995,"id":"a3bef3fe7ab11a09","name":"Request","timestamp":1646055546312475,"trace_id":"a2f1a54071f9bd744613c7818bd42810","type":"external","action":"request","outcome":"success","parent_id":"a39189b0a04d7584","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a2f1a54071f9bd74"}} +{"span":{"duration":0.27608299999999997,"id":"5717cb2c3e3e3e18","name":"DNS opbeans-python","timestamp":1646055546360181,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"external","action":"dns","outcome":"success","parent_id":"a0fbb53177d72855","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b0ecb2cf260a8ac5"}} +{"span":{"duration":0.240917,"id":"20faf19ba937b3fc","name":"Connect 172.23.0.11:3000","timestamp":1646055546360460,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"external","action":"connect","outcome":"success","parent_id":"a0fbb53177d72855","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b0ecb2cf260a8ac5"}} +{"span":{"duration":1.143958,"id":"673cc6450ec023a5","name":"Response","timestamp":1646055546359626,"trace_id":"a2f1a54071f9bd744613c7818bd42810","type":"external","action":"response","outcome":"success","parent_id":"a39189b0a04d7584","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a2f1a54071f9bd74"}} +{"span":{"duration":48.313708,"id":"a39189b0a04d7584","name":"GET opbeans-ruby:3000","timestamp":1646055546312457,"trace_id":"a2f1a54071f9bd744613c7818bd42810","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products","status_code":200}},"outcome":"success","parent_id":"a2f1a54071f9bd74","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a2f1a54071f9bd74"}} +{"transaction":{"duration":48.520624999999995,"id":"a2f1a54071f9bd74","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055546312397,"trace_id":"a2f1a54071f9bd744613c7818bd42810","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"strict-origin-when-cross-origin","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","Vary":"Accept","Etag":"W/\"e7a2362bf423f315691b319c14409fa6\"","Cache-Control":"max-age=0, private, must-revalidate","X-Xss-Protection":"1; mode=block","X-Runtime":"0.038415","X-Download-Options":"noopen","X-Request-Id":"7370307a-3987-463c-93db-49dd911d6133","X-Permitted-Cross-Domain-Policies":"none"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.377541,"id":"99c012bcb4333316","name":"DNS opbeans-node","timestamp":1646055546380737,"trace_id":"58cd944e2afb51da5881c4fa12d13383","type":"external","action":"dns","outcome":"success","parent_id":"cd1a5b0a47f5f2ed","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dc8e90dfb5d60820"}} +{"span":{"duration":0.094625,"id":"1789436a10339ec8","name":"Connect 172.23.0.10:3000","timestamp":1646055546381134,"trace_id":"58cd944e2afb51da5881c4fa12d13383","type":"external","action":"connect","outcome":"success","parent_id":"cd1a5b0a47f5f2ed","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dc8e90dfb5d60820"}} +{"span":{"duration":0.32887500000000003,"id":"fcb2a1a74f997443","name":"DNS opbeans-python","timestamp":1646055546387842,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"external","action":"dns","outcome":"success","parent_id":"6620f61c60853332","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8395e1fb82288b5f"}} +{"span":{"duration":0.150292,"id":"5189f59e4601001a","name":"Connect 172.23.0.11:3000","timestamp":1646055546388176,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"external","action":"connect","outcome":"success","parent_id":"6620f61c60853332","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8395e1fb82288b5f"}} +{"span":{"duration":0.25429199999999996,"id":"089f89be3f1c2c89","name":"DNS opbeans-go","timestamp":1646055546422183,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"external","action":"dns","outcome":"success","parent_id":"054f034931b75d69","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5bbbb56c219dc343"}} +{"span":{"duration":0.133292,"id":"8ee3d06dfec63eb8","name":"Connect 172.23.0.9:3000","timestamp":1646055546422442,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"external","action":"connect","outcome":"success","parent_id":"054f034931b75d69","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5bbbb56c219dc343"}} +{"span":{"duration":3.124208,"id":"c3292391108e1052","name":"SELECT FROM customers","timestamp":1646055546422720,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"962c846a27cec1bd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"962c846a27cec1bd"}} +{"span":{"duration":5.927875,"id":"28c66d4942b879c9","name":"Request","timestamp":1646055546422586,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"external","action":"request","outcome":"success","parent_id":"054f034931b75d69","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5bbbb56c219dc343"}} +{"span":{"duration":47.461959,"id":"b451490ab37f1910","name":"Request","timestamp":1646055546381237,"trace_id":"58cd944e2afb51da5881c4fa12d13383","type":"external","action":"request","outcome":"success","parent_id":"cd1a5b0a47f5f2ed","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dc8e90dfb5d60820"}} +{"span":{"duration":0.090583,"id":"70cbd628c3db8fdb","name":"Response","timestamp":1646055546428704,"trace_id":"58cd944e2afb51da5881c4fa12d13383","type":"external","action":"response","outcome":"success","parent_id":"cd1a5b0a47f5f2ed","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dc8e90dfb5d60820"}} +{"span":{"duration":48.100459,"id":"cd1a5b0a47f5f2ed","name":"GET opbeans-node:3000","timestamp":1646055546380695,"trace_id":"58cd944e2afb51da5881c4fa12d13383","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"dc8e90dfb5d60820","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dc8e90dfb5d60820"}} +{"transaction":{"duration":48.7245,"id":"dc8e90dfb5d60820","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055546380475,"trace_id":"58cd944e2afb51da5881c4fa12d13383","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-58cd944e2afb51da5881c4fa12d13383-e4663f462d7d26d2-01","Traceparent":"00-58cd944e2afb51da5881c4fa12d13383-e4663f462d7d26d2-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14, 172.23.0.9","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Length":"259","Vary":"Cookie","X-Powered-By":"Express","Date":"Mon, 28 Feb 2022 13:39:06 GMT","Content-Type":"application/json","X-Content-Type-Options":"nosniff","Server":"gunicorn","X-Frame-Options":"DENY","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e4663f462d7d26d2","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":48.904583,"id":"1080377540e48471","name":"Request","timestamp":1646055546380380,"trace_id":"58cd944e2afb51da5881c4fa12d13383","type":"external","action":"request","outcome":"success","parent_id":"e4663f462d7d26d2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5e008fb1c040986a"}} +{"span":{"duration":0.033584,"id":"ef34128ee103b8e6","name":"Response","timestamp":1646055546429293,"trace_id":"58cd944e2afb51da5881c4fa12d13383","type":"external","action":"response","outcome":"success","parent_id":"e4663f462d7d26d2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5e008fb1c040986a"}} +{"span":{"duration":48.953458999999995,"id":"e4663f462d7d26d2","name":"GET opbeans-go:3000","timestamp":1646055546380374,"trace_id":"58cd944e2afb51da5881c4fa12d13383","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"5e008fb1c040986a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5e008fb1c040986a"}} +{"transaction":{"duration":49.184875000000005,"id":"5e008fb1c040986a","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055546380257,"trace_id":"58cd944e2afb51da5881c4fa12d13383","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-58cd944e2afb51da5881c4fa12d13383-7870a9e42081ecc5-01","Traceparent":"00-58cd944e2afb51da5881c4fa12d13383-7870a9e42081ecc5-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:06 GMT","Server":"gunicorn","Vary":"Cookie","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Content-Length":"259","Content-Type":"application/json","Referrer-Policy":"same-origin","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"7870a9e42081ecc5","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":49.426667,"id":"b30fe510159a10cb","name":"Request","timestamp":1646055546380160,"trace_id":"58cd944e2afb51da5881c4fa12d13383","type":"external","action":"request","outcome":"success","parent_id":"7870a9e42081ecc5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"58cd944e2afb51da"}} +{"span":{"duration":0.017833,"id":"fcb2101bbd99f5b2","name":"Response","timestamp":1646055546429592,"trace_id":"58cd944e2afb51da5881c4fa12d13383","type":"external","action":"response","outcome":"success","parent_id":"7870a9e42081ecc5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"58cd944e2afb51da"}} +{"span":{"duration":49.469083,"id":"7870a9e42081ecc5","name":"GET opbeans-go:3000","timestamp":1646055546380141,"trace_id":"58cd944e2afb51da5881c4fa12d13383","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"58cd944e2afb51da","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"58cd944e2afb51da"}} +{"transaction":{"duration":49.7035,"id":"58cd944e2afb51da","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055546379996,"trace_id":"58cd944e2afb51da5881c4fa12d13383","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","X-Powered-By":"Express","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:39:06 GMT","Referrer-Policy":"same-origin","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Content-Length":"259"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":10.552208,"id":"962c846a27cec1bd","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055546422705,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Accept-Encoding":"gzip","User-Agent":"http.rb/5.0.4","Elastic-Apm-Traceparent":"00-abb5ccb9ce85a9ef02ec144f348c4876-054f034931b75d69-01","Traceparent":"00-abb5ccb9ce85a9ef02ec144f348c4876-054f034931b75d69-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.12"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"054f034931b75d69","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":5.1335,"id":"42f69430f0ba9738","name":"Response","timestamp":1646055546428590,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"external","action":"response","outcome":"success","parent_id":"054f034931b75d69","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5bbbb56c219dc343"}} +{"span":{"duration":11.640374999999999,"id":"054f034931b75d69","name":"GET opbeans-go:3000","timestamp":1646055546422130,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/5/customers","status_code":200}},"outcome":"success","parent_id":"5bbbb56c219dc343","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5bbbb56c219dc343"}} +{"transaction":{"duration":11.934042,"id":"5bbbb56c219dc343","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055546421965,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-abb5ccb9ce85a9ef02ec144f348c4876-1d7b90147fd97b1a-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-abb5ccb9ce85a9ef02ec144f348c4876-1d7b90147fd97b1a-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:06 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"1d7b90147fd97b1a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.320959,"id":"2066ba448e0fdf52","name":"DNS opbeans-python","timestamp":1646055546449681,"trace_id":"f98b9cfcd3ec115e035ae1e38e23243d","type":"external","action":"dns","outcome":"success","parent_id":"f405b39f5c649a9d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f98b9cfcd3ec115e"}} +{"span":{"duration":0.087167,"id":"05bac71d9defb593","name":"Connect 172.23.0.11:3000","timestamp":1646055546450007,"trace_id":"f98b9cfcd3ec115e035ae1e38e23243d","type":"external","action":"connect","outcome":"success","parent_id":"f405b39f5c649a9d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f98b9cfcd3ec115e"}} +{"span":{"duration":71.940917,"id":"c2eda6540d2c1548","name":"Request","timestamp":1646055546388335,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"external","action":"request","outcome":"success","parent_id":"6620f61c60853332","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8395e1fb82288b5f"}} +{"span":{"duration":0.670875,"id":"183bf0f25be856a2","name":"Response","timestamp":1646055546460317,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"external","action":"response","outcome":"success","parent_id":"6620f61c60853332","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8395e1fb82288b5f"}} +{"span":{"duration":73.534083,"id":"6620f61c60853332","name":"GET opbeans-python:3000","timestamp":1646055546387455,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/5/customers","status_code":200}},"outcome":"success","parent_id":"8395e1fb82288b5f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8395e1fb82288b5f"}} +{"transaction":{"duration":73.761833,"id":"8395e1fb82288b5f","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055546387354,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Traceparent":"00-abb5ccb9ce85a9ef02ec144f348c4876-e2ddf3b4b5191724-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-abb5ccb9ce85a9ef02ec144f348c4876-e2ddf3b4b5191724-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"113114","Vary":"Cookie","Date":"Mon, 28 Feb 2022 13:39:06 GMT","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e2ddf3b4b5191724","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":135.993708,"id":"eca106262c42f265","name":"Request","timestamp":1646055546360712,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"external","action":"request","outcome":"success","parent_id":"a0fbb53177d72855","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b0ecb2cf260a8ac5"}} +{"span":{"duration":3.535458,"id":"9e3fd6cf582c888c","name":"Response","timestamp":1646055546496748,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"external","action":"response","outcome":"success","parent_id":"a0fbb53177d72855","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b0ecb2cf260a8ac5"}} +{"span":{"duration":140.140209,"id":"a0fbb53177d72855","name":"GET opbeans-python:3000","timestamp":1646055546360146,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/5/customers","status_code":200}},"outcome":"success","parent_id":"b0ecb2cf260a8ac5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b0ecb2cf260a8ac5"}} +{"transaction":{"duration":140.5445,"id":"b0ecb2cf260a8ac5","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055546359953,"trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-abb5ccb9ce85a9ef02ec144f348c4876-e6fe311ad2f7b718-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-abb5ccb9ce85a9ef02ec144f348c4876-e6fe311ad2f7b718-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Length":"113114","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:06 GMT","X-Frame-Options":"DENY","Server":"gunicorn","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e6fe311ad2f7b718","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":104.715209,"id":"16a22e02ff035fc9","name":"Request","timestamp":1646055546450104,"trace_id":"f98b9cfcd3ec115e035ae1e38e23243d","type":"external","action":"request","outcome":"success","parent_id":"f405b39f5c649a9d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f98b9cfcd3ec115e"}} +{"span":{"duration":2.347666,"id":"13c1d9b19ae5f516","name":"Response","timestamp":1646055546554849,"trace_id":"f98b9cfcd3ec115e035ae1e38e23243d","type":"external","action":"response","outcome":"success","parent_id":"f405b39f5c649a9d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f98b9cfcd3ec115e"}} +{"span":{"duration":107.73675,"id":"f405b39f5c649a9d","name":"GET opbeans-python:3000","timestamp":1646055546449527,"trace_id":"f98b9cfcd3ec115e035ae1e38e23243d","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"f98b9cfcd3ec115e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f98b9cfcd3ec115e"}} +{"transaction":{"duration":108.43516699999999,"id":"f98b9cfcd3ec115e","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055546449427,"trace_id":"f98b9cfcd3ec115e035ae1e38e23243d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"203686","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:06 GMT","Content-Type":"application/json","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.676041,"id":"572ca061c796d5d0","name":"SELECT FROM products","timestamp":1646055546584433,"trace_id":"3c0f16d9a13194ed19e0efd56a514c37","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3c0f16d9a13194ed","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3c0f16d9a13194ed"}} +{"transaction":{"duration":2.941167,"id":"3c0f16d9a13194ed","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055546584316,"trace_id":"3c0f16d9a13194ed19e0efd56a514c37","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.7471249999999999,"id":"79653f3148a75474","name":"DNS opbeans-python","timestamp":1646055546611321,"trace_id":"d7f0601ba982dad91339425021621e51","type":"external","action":"dns","outcome":"success","parent_id":"8e3203776bcab74a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d7f0601ba982dad9"}} +{"span":{"duration":0.20666700000000002,"id":"3dc092e1d8a85a55","name":"Connect 172.23.0.11:3000","timestamp":1646055546612075,"trace_id":"d7f0601ba982dad91339425021621e51","type":"external","action":"connect","outcome":"success","parent_id":"8e3203776bcab74a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d7f0601ba982dad9"}} +{"span":{"duration":50.8295,"id":"9f636124a73a11e1","name":"Request","timestamp":1646055546612310,"trace_id":"d7f0601ba982dad91339425021621e51","type":"external","action":"request","outcome":"success","parent_id":"8e3203776bcab74a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d7f0601ba982dad9"}} +{"span":{"duration":2.887791,"id":"79119c3eceadb13d","name":"Response","timestamp":1646055546663169,"trace_id":"d7f0601ba982dad91339425021621e51","type":"external","action":"response","outcome":"success","parent_id":"8e3203776bcab74a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d7f0601ba982dad9"}} +{"span":{"duration":54.989667,"id":"8e3203776bcab74a","name":"GET opbeans-python:3000","timestamp":1646055546611071,"trace_id":"d7f0601ba982dad91339425021621e51","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"d7f0601ba982dad9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d7f0601ba982dad9"}} +{"transaction":{"duration":55.48075,"id":"d7f0601ba982dad9","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055546610942,"trace_id":"d7f0601ba982dad91339425021621e51","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","Content-Type":"application/json","Content-Length":"309","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:06 GMT","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.438334,"id":"9100ef18b111736d","name":"SELECT FROM customers","timestamp":1646055546688558,"trace_id":"db23b4fd67f5464c7786904ee222fd55","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"db23b4fd67f5464c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"db23b4fd67f5464c"}} +{"transaction":{"duration":0.652792,"id":"db23b4fd67f5464c","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055546688504,"trace_id":"db23b4fd67f5464c7786904ee222fd55","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/722","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/722"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.820416,"id":"c519575dc5d97370","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055546716852,"trace_id":"c519575dc5d97370c168a6f80c3fc5ae","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.360417,"id":"52377aa460049640","name":"DNS opbeans-node","timestamp":1646055546737945,"trace_id":"07185d0e1a1f924ab916f55a7a975ea9","type":"external","action":"dns","outcome":"success","parent_id":"673232bfc2e67f4a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"07185d0e1a1f924a"}} +{"span":{"duration":0.202125,"id":"2b7dda1c6795ddf5","name":"Connect 172.23.0.10:3000","timestamp":1646055546738320,"trace_id":"07185d0e1a1f924ab916f55a7a975ea9","type":"external","action":"connect","outcome":"success","parent_id":"673232bfc2e67f4a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"07185d0e1a1f924a"}} +{"span":{"duration":0.521583,"id":"690204423dd6d5fe","name":"DNS opbeans-node","timestamp":1646055546746365,"trace_id":"9d8d53cc87bc9640ab7cf310646fb864","type":"external","action":"dns","outcome":"success","parent_id":"d66e8747ec5575c1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"affdecc9bd56a059"}} +{"span":{"duration":0.27433399999999997,"id":"82bc11f99fca8ce0","name":"Connect 172.23.0.10:3000","timestamp":1646055546746902,"trace_id":"9d8d53cc87bc9640ab7cf310646fb864","type":"external","action":"connect","outcome":"success","parent_id":"d66e8747ec5575c1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"affdecc9bd56a059"}} +{"span":{"duration":0.42320800000000003,"id":"e41e663525a4dde5","name":"SELECT FROM products","timestamp":1646055546816983,"trace_id":"d43df7d24901cb36d1f9ded5592ba390","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"649d75ee7f4684fc","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"649d75ee7f4684fc"}} +{"transaction":{"duration":0.70425,"id":"649d75ee7f4684fc","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055546816960,"trace_id":"d43df7d24901cb36d1f9ded5592ba390","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-d43df7d24901cb36d1f9ded5592ba390-15233df50df71e66-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-d43df7d24901cb36d1f9ded5592ba390-15233df50df71e66-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"15233df50df71e66","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":105.372833,"id":"69e4057c79b911d4","name":"Request","timestamp":1646055546738622,"trace_id":"07185d0e1a1f924ab916f55a7a975ea9","type":"external","action":"request","outcome":"success","parent_id":"673232bfc2e67f4a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"07185d0e1a1f924a"}} +{"span":{"duration":0.143792,"id":"eeead1e1d9572ad8","name":"Response","timestamp":1646055546844148,"trace_id":"07185d0e1a1f924ab916f55a7a975ea9","type":"external","action":"response","outcome":"success","parent_id":"673232bfc2e67f4a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"07185d0e1a1f924a"}} +{"span":{"duration":106.399042,"id":"673232bfc2e67f4a","name":"GET opbeans-node:3000","timestamp":1646055546737895,"trace_id":"07185d0e1a1f924ab916f55a7a975ea9","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"07185d0e1a1f924a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"07185d0e1a1f924a"}} +{"transaction":{"duration":106.738916,"id":"07185d0e1a1f924a","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055546737713,"trace_id":"07185d0e1a1f924ab916f55a7a975ea9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","Date":"Mon, 28 Feb 2022 13:39:06 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"275"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.60175,"id":"05854cd62d0ed433","name":"SELECT FROM products","timestamp":1646055546871490,"trace_id":"94f03b2e1f2b4669ee14cae980df164c","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"94f03b2e1f2b4669","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"94f03b2e1f2b4669"}} +{"transaction":{"duration":1.042542,"id":"94f03b2e1f2b4669","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055546871468,"trace_id":"94f03b2e1f2b4669ee14cae980df164c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.183125,"id":"f74876c3d0e5273d","name":"SELECT FROM customers","timestamp":1646055546929435,"trace_id":"5a3e592d08089a2af27e3a2259e12b0f","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5a3e592d08089a2a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5a3e592d08089a2a"}} +{"transaction":{"duration":5.540458,"id":"5a3e592d08089a2a","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055546929400,"trace_id":"5a3e592d08089a2af27e3a2259e12b0f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","search":"limit=60","full":"http://opbeans-go:3000/api/products/6/customers?limit=60"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.102709,"id":"89c4c2293b805ae8","name":"SELECT FROM customers","timestamp":1646055546960674,"trace_id":"661eba8ebbc815056bcc2bbde9c74b42","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"661eba8ebbc81505","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"661eba8ebbc81505"}} +{"transaction":{"duration":2.175041,"id":"661eba8ebbc81505","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055546960503,"trace_id":"661eba8ebbc815056bcc2bbde9c74b42","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/44","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/44"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.48870800000000003,"id":"60834397aad28576","name":"SELECT FROM customers","timestamp":1646055546989112,"trace_id":"5c5d7e050d0a3207400d5315676ce17a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e1e03890e9188a73","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e1e03890e9188a73"}} +{"transaction":{"duration":2.209708,"id":"e1e03890e9188a73","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055546989098,"trace_id":"5c5d7e050d0a3207400d5315676ce17a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-5c5d7e050d0a3207400d5315676ce17a-5c261843e7294343-01","Traceparent":"00-5c5d7e050d0a3207400d5315676ce17a-5c261843e7294343-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"5c261843e7294343","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":8.178875,"id":"bdd0209348d40478","name":"Request","timestamp":1646055546988972,"trace_id":"5c5d7e050d0a3207400d5315676ce17a","type":"external","action":"request","outcome":"success","parent_id":"5c261843e7294343","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5c5d7e050d0a3207"}} +{"span":{"duration":4.2425,"id":"f4aa6d64125f83d6","name":"Response","timestamp":1646055546997175,"trace_id":"5c5d7e050d0a3207400d5315676ce17a","type":"external","action":"response","outcome":"success","parent_id":"5c261843e7294343","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5c5d7e050d0a3207"}} +{"span":{"duration":12.495,"id":"5c261843e7294343","name":"GET opbeans-go:3000","timestamp":1646055546988929,"trace_id":"5c5d7e050d0a3207400d5315676ce17a","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"5c5d7e050d0a3207","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5c5d7e050d0a3207"}} +{"transaction":{"duration":14.354584000000001,"id":"5c5d7e050d0a3207","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055546987390,"trace_id":"5c5d7e050d0a3207400d5315676ce17a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:06 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.289792,"id":"a41432f1d874b45b","name":"SELECT FROM orders","timestamp":1646055547028497,"trace_id":"1595a444435b13a774df9f1861affcec","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1595a444435b13a7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1595a444435b13a7"}} +{"span":{"duration":0.396042,"id":"89ba2ccef6ec5e84","name":"SELECT FROM products","timestamp":1646055547028826,"trace_id":"1595a444435b13a774df9f1861affcec","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1595a444435b13a7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1595a444435b13a7"}} +{"transaction":{"duration":0.886834,"id":"1595a444435b13a7","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055547028474,"trace_id":"1595a444435b13a774df9f1861affcec","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/72","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/72"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.008667,"id":"6b7c2b2b7c4cccfc","name":"SELECT FROM customers","timestamp":1646055547050085,"trace_id":"0451f7c8d6a5a31d87ae74711825b269","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0451f7c8d6a5a31d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0451f7c8d6a5a31d"}} +{"transaction":{"duration":1.183375,"id":"0451f7c8d6a5a31d","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055547050045,"trace_id":"0451f7c8d6a5a31d87ae74711825b269","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/8265","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/8265"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.40279200000000004,"id":"4f4d8debcfa7aa85","name":"DNS opbeans-ruby","timestamp":1646055547071924,"trace_id":"b07d80a41b4b74b4ef72a70f8bf6077e","type":"external","action":"dns","outcome":"success","parent_id":"a4a248ede2724eb6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"29a8ce83dca522f3"}} +{"span":{"duration":0.113833,"id":"87c792378790ceec","name":"Connect 172.23.0.12:3000","timestamp":1646055547072332,"trace_id":"b07d80a41b4b74b4ef72a70f8bf6077e","type":"external","action":"connect","outcome":"success","parent_id":"a4a248ede2724eb6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"29a8ce83dca522f3"}} +{"span":{"duration":195.45250000000001,"id":"d73fedf193ac53e9","name":"Request","timestamp":1646055547013951,"trace_id":"9d8d53cc87bc9640ab7cf310646fb864","type":"external","action":"request","outcome":"success","parent_id":"2cc04dd9a0c64eb4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cc0773034be09cfe"}} +{"span":{"duration":0.24337499999999998,"id":"61f8b410727c84f0","name":"Response","timestamp":1646055547209445,"trace_id":"9d8d53cc87bc9640ab7cf310646fb864","type":"external","action":"response","outcome":"success","parent_id":"2cc04dd9a0c64eb4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cc0773034be09cfe"}} +{"span":{"duration":195.763208,"id":"2cc04dd9a0c64eb4","name":"GET opbeans-ruby:3000","timestamp":1646055547013926,"trace_id":"9d8d53cc87bc9640ab7cf310646fb864","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"cc0773034be09cfe","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cc0773034be09cfe"}} +{"transaction":{"duration":196.281917,"id":"cc0773034be09cfe","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055547013658,"trace_id":"9d8d53cc87bc9640ab7cf310646fb864","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Traceparent":"00-9d8d53cc87bc9640ab7cf310646fb864-45dbce7c25ebfb3d-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-9d8d53cc87bc9640ab7cf310646fb864-45dbce7c25ebfb3d-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"45dbce7c25ebfb3d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.240333,"id":"b9bd0e4cdcd6f9c8","name":"SELECT FROM orders","timestamp":1646055547233648,"trace_id":"b9497a617120712981d34465f6e4c813","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"36e8ae0e28414cda","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"36e8ae0e28414cda"}} +{"transaction":{"duration":9.959709,"id":"36e8ae0e28414cda","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055547233629,"trace_id":"b9497a617120712981d34465f6e4c813","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-b9497a617120712981d34465f6e4c813-c825c68251700c06-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-b9497a617120712981d34465f6e4c813-c825c68251700c06-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c825c68251700c06","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.585875,"id":"a521405c1e543bd2","name":"DNS opbeans-node","timestamp":1646055547255079,"trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","type":"external","action":"dns","outcome":"success","parent_id":"1d6d8c7051f1dd8a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"436cbf49be922a48"}} +{"span":{"duration":0.083125,"id":"ae21b647c19794d6","name":"Connect 172.23.0.10:3000","timestamp":1646055547255672,"trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","type":"external","action":"connect","outcome":"success","parent_id":"1d6d8c7051f1dd8a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"436cbf49be922a48"}} +{"span":{"duration":421.793584,"id":"69d7a82e89e071d2","name":"Request","timestamp":1646055546890029,"trace_id":"9d8d53cc87bc9640ab7cf310646fb864","type":"external","action":"request","outcome":"success","parent_id":"20eed3396addcc80","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0a1e4962c13daeb8"}} +{"span":{"duration":0.114708,"id":"3eec28804de543fa","name":"Response","timestamp":1646055547311854,"trace_id":"9d8d53cc87bc9640ab7cf310646fb864","type":"external","action":"response","outcome":"success","parent_id":"20eed3396addcc80","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0a1e4962c13daeb8"}} +{"span":{"duration":421.962833,"id":"20eed3396addcc80","name":"GET opbeans-node:3000","timestamp":1646055546890007,"trace_id":"9d8d53cc87bc9640ab7cf310646fb864","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"0a1e4962c13daeb8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0a1e4962c13daeb8"}} +{"transaction":{"duration":422.518584,"id":"0a1e4962c13daeb8","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055546889676,"trace_id":"9d8d53cc87bc9640ab7cf310646fb864","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Traceparent":"00-9d8d53cc87bc9640ab7cf310646fb864-77767ea374b0a350-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-9d8d53cc87bc9640ab7cf310646fb864-77767ea374b0a350-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json","Content-Length":"128","Date":"Mon, 28 Feb 2022 13:39:07 GMT","X-Content-Type-Options":"nosniff","Server":"gunicorn","Vary":"Cookie","X-Powered-By":"Express","X-Frame-Options":"DENY","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"77767ea374b0a350","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":589.3166669999999,"id":"5d79555972101c75","name":"Request","timestamp":1646055546747200,"trace_id":"9d8d53cc87bc9640ab7cf310646fb864","type":"external","action":"request","outcome":"success","parent_id":"d66e8747ec5575c1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"affdecc9bd56a059"}} +{"span":{"duration":0.23,"id":"2cf3fd2574e35308","name":"Response","timestamp":1646055547336713,"trace_id":"9d8d53cc87bc9640ab7cf310646fb864","type":"external","action":"response","outcome":"success","parent_id":"d66e8747ec5575c1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"affdecc9bd56a059"}} +{"span":{"duration":590.630417,"id":"d66e8747ec5575c1","name":"GET opbeans-node:3000","timestamp":1646055546746314,"trace_id":"9d8d53cc87bc9640ab7cf310646fb864","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"affdecc9bd56a059","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"affdecc9bd56a059"}} +{"transaction":{"duration":591.2420000000001,"id":"affdecc9bd56a059","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055546746188,"trace_id":"9d8d53cc87bc9640ab7cf310646fb864","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-9d8d53cc87bc9640ab7cf310646fb864-e8c93e40df7a18a8-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-9d8d53cc87bc9640ab7cf310646fb864-e8c93e40df7a18a8-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Vary":"Cookie","Content-Length":"128","Referrer-Policy":"same-origin","Server":"gunicorn","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:39:07 GMT","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e8c93e40df7a18a8","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.32329199999999997,"id":"f87be7a85f803bad","name":"DNS opbeans-python","timestamp":1646055547374177,"trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","type":"external","action":"dns","outcome":"success","parent_id":"6fe2cd45d2030d0a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"df42b7f5dc15dde1"}} +{"span":{"duration":0.223709,"id":"58b68a5b0ca3d17f","name":"Connect 172.23.0.11:3000","timestamp":1646055547374505,"trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","type":"external","action":"connect","outcome":"success","parent_id":"6fe2cd45d2030d0a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"df42b7f5dc15dde1"}} +{"span":{"duration":311.001625,"id":"acca4f35fb63e7f2","name":"Request","timestamp":1646055547072458,"trace_id":"b07d80a41b4b74b4ef72a70f8bf6077e","type":"external","action":"request","outcome":"success","parent_id":"a4a248ede2724eb6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"29a8ce83dca522f3"}} +{"span":{"duration":312.00608400000004,"id":"5f0bb0c4ade6ade6","name":"Request","timestamp":1646055547071677,"trace_id":"b07d80a41b4b74b4ef72a70f8bf6077e","type":"external","action":"request","outcome":"success","parent_id":"ba8e1b40f673fdc2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b07d80a41b4b74b4"}} +{"span":{"duration":2.090542,"id":"0e0708d7a8000911","name":"Response","timestamp":1646055547383688,"trace_id":"b07d80a41b4b74b4ef72a70f8bf6077e","type":"external","action":"response","outcome":"success","parent_id":"ba8e1b40f673fdc2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b07d80a41b4b74b4"}} +{"span":{"duration":314.128917,"id":"ba8e1b40f673fdc2","name":"GET opbeans-go:3000","timestamp":1646055547071652,"trace_id":"b07d80a41b4b74b4ef72a70f8bf6077e","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/1/customers","status_code":200}},"outcome":"success","parent_id":"b07d80a41b4b74b4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b07d80a41b4b74b4"}} +{"transaction":{"duration":314.491875,"id":"b07d80a41b4b74b4","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055547071361,"trace_id":"b07d80a41b4b74b4ef72a70f8bf6077e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:39:07 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.8067919999999997,"id":"ce1ca66fdde0d122","name":"Response","timestamp":1646055547383483,"trace_id":"b07d80a41b4b74b4ef72a70f8bf6077e","type":"external","action":"response","outcome":"success","parent_id":"a4a248ede2724eb6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"29a8ce83dca522f3"}} +{"span":{"duration":314.401542,"id":"a4a248ede2724eb6","name":"GET opbeans-ruby:3000","timestamp":1646055547071890,"trace_id":"b07d80a41b4b74b4ef72a70f8bf6077e","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/1/customers","status_code":200}},"outcome":"success","parent_id":"29a8ce83dca522f3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"29a8ce83dca522f3"}} +{"transaction":{"duration":314.56741700000003,"id":"29a8ce83dca522f3","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055547071766,"trace_id":"b07d80a41b4b74b4ef72a70f8bf6077e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1/customers"},"headers":{"Traceparent":"00-b07d80a41b4b74b4ef72a70f8bf6077e-ba8e1b40f673fdc2-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-b07d80a41b4b74b4ef72a70f8bf6077e-ba8e1b40f673fdc2-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ba8e1b40f673fdc2","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.374084,"id":"26605777f3885d2b","name":"SELECT FROM products","timestamp":1646055547393209,"trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"887aa8dd5dcbb8f4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"887aa8dd5dcbb8f4"}} +{"transaction":{"duration":0.6195,"id":"887aa8dd5dcbb8f4","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055547393189,"trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-8eaeaa945ee6fcdcfd82fe4deb7750c8-c7d427c6704c4bdb-01","Elastic-Apm-Traceparent":"00-8eaeaa945ee6fcdcfd82fe4deb7750c8-c7d427c6704c4bdb-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c7d427c6704c4bdb","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":27.982166,"id":"4aeb6a093f75a6a6","name":"Request","timestamp":1646055547374741,"trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","type":"external","action":"request","outcome":"success","parent_id":"6fe2cd45d2030d0a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"df42b7f5dc15dde1"}} +{"span":{"duration":0.18241700000000002,"id":"14d35232dd564e23","name":"Response","timestamp":1646055547402742,"trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","type":"external","action":"response","outcome":"success","parent_id":"6fe2cd45d2030d0a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"df42b7f5dc15dde1"}} +{"span":{"duration":28.81875,"id":"6fe2cd45d2030d0a","name":"GET opbeans-python:3000","timestamp":1646055547374106,"trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"df42b7f5dc15dde1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"df42b7f5dc15dde1"}} +{"transaction":{"duration":29.264333999999998,"id":"df42b7f5dc15dde1","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055547373868,"trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Traceparent":"00-8eaeaa945ee6fcdcfd82fe4deb7750c8-d5b5284050e9d458-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-8eaeaa945ee6fcdcfd82fe4deb7750c8-d5b5284050e9d458-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Frame-Options":"DENY","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:07 GMT","Content-Length":"2134","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d5b5284050e9d458","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.44575,"id":"6ab9d1337ea8499c","name":"SELECT FROM customers","timestamp":1646055547403287,"trace_id":"05845fb07653eb11b07a1e27a668132d","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"05845fb07653eb11","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"05845fb07653eb11"}} +{"transaction":{"duration":2.5933330000000003,"id":"05845fb07653eb11","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055547403273,"trace_id":"05845fb07653eb11b07a1e27a668132d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":153.850167,"id":"f57d4e41f499c247","name":"Request","timestamp":1646055547255765,"trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","type":"external","action":"request","outcome":"success","parent_id":"1d6d8c7051f1dd8a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"436cbf49be922a48"}} +{"span":{"duration":0.065208,"id":"331a32838df93d43","name":"Response","timestamp":1646055547409644,"trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","type":"external","action":"response","outcome":"success","parent_id":"1d6d8c7051f1dd8a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"436cbf49be922a48"}} +{"span":{"duration":154.693792,"id":"1d6d8c7051f1dd8a","name":"GET opbeans-node:3000","timestamp":1646055547255016,"trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products","status_code":200}},"outcome":"success","parent_id":"436cbf49be922a48","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"436cbf49be922a48"}} +{"transaction":{"duration":154.979167,"id":"436cbf49be922a48","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055547254953,"trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Traceparent":"00-8eaeaa945ee6fcdcfd82fe4deb7750c8-64ae5a7a58a9b897-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-8eaeaa945ee6fcdcfd82fe4deb7750c8-64ae5a7a58a9b897-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Vary":"Cookie","Content-Length":"2134","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:07 GMT","Referrer-Policy":"same-origin","Server":"gunicorn","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"64ae5a7a58a9b897","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.771417,"id":"b4c5fa8fb04f8609","name":"DNS opbeans-python","timestamp":1646055547428458,"trace_id":"2edc34da9235f5287e82e13294953cfe","type":"external","action":"dns","outcome":"success","parent_id":"22921cf26719c561","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2edc34da9235f528"}} +{"span":{"duration":0.110166,"id":"c3abeea7442cd488","name":"Connect 172.23.0.11:3000","timestamp":1646055547429235,"trace_id":"2edc34da9235f5287e82e13294953cfe","type":"external","action":"connect","outcome":"success","parent_id":"22921cf26719c561","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2edc34da9235f528"}} +{"span":{"duration":17.538375,"id":"20ca128402134b72","name":"Request","timestamp":1646055547429361,"trace_id":"2edc34da9235f5287e82e13294953cfe","type":"external","action":"request","outcome":"success","parent_id":"22921cf26719c561","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2edc34da9235f528"}} +{"span":{"duration":0.336625,"id":"8e39e511e6e5d966","name":"Response","timestamp":1646055547446925,"trace_id":"2edc34da9235f5287e82e13294953cfe","type":"external","action":"response","outcome":"success","parent_id":"22921cf26719c561","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2edc34da9235f528"}} +{"span":{"duration":18.847458,"id":"22921cf26719c561","name":"GET opbeans-python:3000","timestamp":1646055547428415,"trace_id":"2edc34da9235f5287e82e13294953cfe","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"2edc34da9235f528","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2edc34da9235f528"}} +{"transaction":{"duration":19.3815,"id":"2edc34da9235f528","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055547428320,"trace_id":"2edc34da9235f5287e82e13294953cfe","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:07 GMT","Content-Length":"123","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Content-Type":"application/json","X-Frame-Options":"DENY","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.37954200000000005,"id":"51fa4cb68bb4a2f1","name":"SELECT FROM product_types","timestamp":1646055547465729,"trace_id":"0d265a5d7473a3c70b5b502842692cc1","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0d265a5d7473a3c7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0d265a5d7473a3c7"}} +{"transaction":{"duration":0.48325,"id":"0d265a5d7473a3c7","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055547465712,"trace_id":"0d265a5d7473a3c70b5b502842692cc1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.296083,"id":"7d91c63578a4f23b","name":"DNS opbeans-go","timestamp":1646055547483793,"trace_id":"6ebfb9a5c7d2193cfcc865e6a056a29a","type":"external","action":"dns","outcome":"success","parent_id":"3ce5b45ee864061a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6ebfb9a5c7d2193c"}} +{"span":{"duration":0.094167,"id":"e5792a68fc238ac9","name":"Connect 172.23.0.9:3000","timestamp":1646055547484094,"trace_id":"6ebfb9a5c7d2193cfcc865e6a056a29a","type":"external","action":"connect","outcome":"success","parent_id":"3ce5b45ee864061a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6ebfb9a5c7d2193c"}} +{"span":{"duration":0.29300000000000004,"id":"9da80c7abc169985","name":"DNS opbeans-python","timestamp":1646055547484382,"trace_id":"6ebfb9a5c7d2193cfcc865e6a056a29a","type":"external","action":"dns","outcome":"success","parent_id":"428fd3e041cf42f8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c0af60e727b8f2fd"}} +{"span":{"duration":0.37854099999999996,"id":"e88358e123bfec3d","name":"Connect 172.23.0.11:3000","timestamp":1646055547484678,"trace_id":"6ebfb9a5c7d2193cfcc865e6a056a29a","type":"external","action":"connect","outcome":"success","parent_id":"428fd3e041cf42f8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c0af60e727b8f2fd"}} +{"span":{"duration":1.297708,"id":"db2a0e104184a3cd","name":"SELECT FROM products","timestamp":1646055547499711,"trace_id":"6ebfb9a5c7d2193cfcc865e6a056a29a","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"08a1e059d9c85c0a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"08a1e059d9c85c0a"}} +{"transaction":{"duration":1.570084,"id":"08a1e059d9c85c0a","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055547499529,"trace_id":"6ebfb9a5c7d2193cfcc865e6a056a29a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Elastic-Apm-Traceparent":"00-6ebfb9a5c7d2193cfcc865e6a056a29a-b744aee4e9cfaba3-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-6ebfb9a5c7d2193cfcc865e6a056a29a-b744aee4e9cfaba3-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b744aee4e9cfaba3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":23.849083,"id":"41cb402d08b1606c","name":"Request","timestamp":1646055547485066,"trace_id":"6ebfb9a5c7d2193cfcc865e6a056a29a","type":"external","action":"request","outcome":"success","parent_id":"428fd3e041cf42f8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c0af60e727b8f2fd"}} +{"span":{"duration":0.19287500000000002,"id":"5439ea9bf3c264a7","name":"Response","timestamp":1646055547508937,"trace_id":"6ebfb9a5c7d2193cfcc865e6a056a29a","type":"external","action":"response","outcome":"success","parent_id":"428fd3e041cf42f8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c0af60e727b8f2fd"}} +{"span":{"duration":24.767792,"id":"428fd3e041cf42f8","name":"GET opbeans-python:3000","timestamp":1646055547484363,"trace_id":"6ebfb9a5c7d2193cfcc865e6a056a29a","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"c0af60e727b8f2fd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c0af60e727b8f2fd"}} +{"transaction":{"duration":24.944709,"id":"c0af60e727b8f2fd","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055547484318,"trace_id":"6ebfb9a5c7d2193cfcc865e6a056a29a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Elastic-Apm-Traceparent":"00-6ebfb9a5c7d2193cfcc865e6a056a29a-3ce5b45ee864061a-01","Traceparent":"00-6ebfb9a5c7d2193cfcc865e6a056a29a-3ce5b45ee864061a-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Vary":"Cookie","Date":"Mon, 28 Feb 2022 13:39:07 GMT","Content-Length":"401","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"3ce5b45ee864061a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":25.114833,"id":"a6a8f52c3c29b8e2","name":"Request","timestamp":1646055547484198,"trace_id":"6ebfb9a5c7d2193cfcc865e6a056a29a","type":"external","action":"request","outcome":"success","parent_id":"3ce5b45ee864061a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6ebfb9a5c7d2193c"}} +{"span":{"duration":0.027917,"id":"0375a7883ea46aa1","name":"Response","timestamp":1646055547509319,"trace_id":"6ebfb9a5c7d2193cfcc865e6a056a29a","type":"external","action":"response","outcome":"success","parent_id":"3ce5b45ee864061a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6ebfb9a5c7d2193c"}} +{"span":{"duration":25.63325,"id":"3ce5b45ee864061a","name":"GET opbeans-go:3000","timestamp":1646055547483714,"trace_id":"6ebfb9a5c7d2193cfcc865e6a056a29a","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"6ebfb9a5c7d2193c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6ebfb9a5c7d2193c"}} +{"transaction":{"duration":25.915208,"id":"6ebfb9a5c7d2193c","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055547483490,"trace_id":"6ebfb9a5c7d2193cfcc865e6a056a29a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:07 GMT","Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"401"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.168625,"id":"ec36ed666d3a59d7","name":"DNS opbeans-node","timestamp":1646055547528192,"trace_id":"846e96de8b329106e3c5424eb40e39fb","type":"external","action":"dns","outcome":"success","parent_id":"43d2926a43b6185f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"846e96de8b329106"}} +{"span":{"duration":0.470791,"id":"9b11ae068f5e30f9","name":"Connect 172.23.0.10:3000","timestamp":1646055547529373,"trace_id":"846e96de8b329106e3c5424eb40e39fb","type":"external","action":"connect","outcome":"success","parent_id":"43d2926a43b6185f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"846e96de8b329106"}} +{"span":{"duration":37.331625,"id":"c60371f6eeaa2542","name":"Request","timestamp":1646055547529861,"trace_id":"846e96de8b329106e3c5424eb40e39fb","type":"external","action":"request","outcome":"success","parent_id":"43d2926a43b6185f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"846e96de8b329106"}} +{"span":{"duration":0.113917,"id":"e2e200fa22e2f95f","name":"Response","timestamp":1646055547567244,"trace_id":"846e96de8b329106e3c5424eb40e39fb","type":"external","action":"response","outcome":"success","parent_id":"43d2926a43b6185f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"846e96de8b329106"}} +{"span":{"duration":39.2125,"id":"43d2926a43b6185f","name":"GET opbeans-node:3000","timestamp":1646055547528146,"trace_id":"846e96de8b329106e3c5424eb40e39fb","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/1","status_code":200}},"outcome":"success","parent_id":"846e96de8b329106","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"846e96de8b329106"}} +{"transaction":{"duration":39.785708,"id":"846e96de8b329106","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055547528076,"trace_id":"846e96de8b329106e3c5424eb40e39fb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"231","Etag":"W/\"e7-6JlJegaJ+ir0C8I8EmmOjms1dnc\"","Date":"Mon, 28 Feb 2022 13:39:07 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":26.534374999999997,"id":"883ca2ccdf3ad0a4","name":"Request","timestamp":1646055547586786,"trace_id":"77e6dfc35dad79f0f98dc80e4a412566","type":"external","action":"request","outcome":"success","parent_id":"6b4ce13628b1b498","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"77e6dfc35dad79f0"}} +{"span":{"duration":0.044708,"id":"ab71155a889c38a7","name":"Response","timestamp":1646055547613358,"trace_id":"77e6dfc35dad79f0f98dc80e4a412566","type":"external","action":"response","outcome":"success","parent_id":"6b4ce13628b1b498","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"77e6dfc35dad79f0"}} +{"span":{"duration":26.637500000000003,"id":"6b4ce13628b1b498","name":"GET opbeans-node:3000","timestamp":1646055547586766,"trace_id":"77e6dfc35dad79f0f98dc80e4a412566","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products","status_code":200}},"outcome":"success","parent_id":"77e6dfc35dad79f0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"77e6dfc35dad79f0"}} +{"transaction":{"duration":26.889792,"id":"77e6dfc35dad79f0","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055547586598,"trace_id":"77e6dfc35dad79f0f98dc80e4a412566","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:07 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"1023","Etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\""},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.474958,"id":"0aab62f7dd4da090","name":"SELECT FROM orders","timestamp":1646055547631821,"trace_id":"691f65fb791c10ebd53723f680c95ab9","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"691f65fb791c10eb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"691f65fb791c10eb"}} +{"transaction":{"duration":3.397459,"id":"691f65fb791c10eb","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055547631805,"trace_id":"691f65fb791c10ebd53723f680c95ab9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":186.500167,"id":"a7e822e8c993f07e","name":"Request","timestamp":1646055547653775,"trace_id":"9dbe19fdd2118277e1414364d96fc186","type":"external","action":"request","outcome":"success","parent_id":"7b1e9bb329cd10d9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9dbe19fdd2118277"}} +{"span":{"duration":2.523375,"id":"0a6b37077a1f91d0","name":"Response","timestamp":1646055547840304,"trace_id":"9dbe19fdd2118277e1414364d96fc186","type":"external","action":"response","outcome":"success","parent_id":"7b1e9bb329cd10d9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9dbe19fdd2118277"}} +{"span":{"duration":189.075042,"id":"7b1e9bb329cd10d9","name":"GET opbeans-node:3000","timestamp":1646055547653756,"trace_id":"9dbe19fdd2118277e1414364d96fc186","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"9dbe19fdd2118277","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9dbe19fdd2118277"}} +{"transaction":{"duration":189.3345,"id":"9dbe19fdd2118277","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055547653580,"trace_id":"9dbe19fdd2118277e1414364d96fc186","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:07 GMT","X-Frame-Options":"DENY","Vary":"Cookie","Server":"gunicorn","Content-Length":"203686","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.41525,"id":"3acfef9867d27aab","name":"SELECT FROM product_types","timestamp":1646055547861112,"trace_id":"89983d366bfa71d70da3b4128685b92a","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"89983d366bfa71d7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"89983d366bfa71d7"}} +{"transaction":{"duration":0.63825,"id":"89983d366bfa71d7","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055547861095,"trace_id":"89983d366bfa71d70da3b4128685b92a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.32337499999999997,"id":"e454cb5740d268a4","name":"SELECT FROM products","timestamp":1646055547878900,"trace_id":"8d7b521343c4d0a2b42ee3a5945eb362","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8d7b521343c4d0a2","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8d7b521343c4d0a2"}} +{"transaction":{"duration":0.503208,"id":"8d7b521343c4d0a2","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055547878872,"trace_id":"8d7b521343c4d0a2b42ee3a5945eb362","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.89725,"id":"e2429b307ef7d8c3","name":"SELECT FROM customers","timestamp":1646055547898395,"trace_id":"b185d7c14c3abdacd5fd0204ee5c0f5c","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b185d7c14c3abdac","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b185d7c14c3abdac"}} +{"transaction":{"duration":2.166375,"id":"b185d7c14c3abdac","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055547898360,"trace_id":"b185d7c14c3abdacd5fd0204ee5c0f5c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":64.280084,"id":"8c453b0e4ac49ccc","name":"Request","timestamp":1646055547922111,"trace_id":"fa3a52db40e71a75fb93f55573737e79","type":"external","action":"request","outcome":"success","parent_id":"185d4c0001513f7f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fa3a52db40e71a75"}} +{"span":{"duration":0.112333,"id":"ebc399ebe0effa8e","name":"Response","timestamp":1646055547986415,"trace_id":"fa3a52db40e71a75fb93f55573737e79","type":"external","action":"response","outcome":"success","parent_id":"185d4c0001513f7f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fa3a52db40e71a75"}} +{"span":{"duration":64.435833,"id":"185d4c0001513f7f","name":"GET opbeans-ruby:3000","timestamp":1646055547922092,"trace_id":"fa3a52db40e71a75fb93f55573737e79","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/556","status_code":200}},"outcome":"success","parent_id":"fa3a52db40e71a75","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fa3a52db40e71a75"}} +{"transaction":{"duration":64.82766600000001,"id":"fa3a52db40e71a75","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055547921887,"trace_id":"fa3a52db40e71a75fb93f55573737e79","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/556","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/556"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.541041,"id":"127694e78d9d13c8","name":"DNS opbeans-node","timestamp":1646055548006174,"trace_id":"aa479ee11bc78d2ffdf866d0596bd937","type":"external","action":"dns","outcome":"success","parent_id":"4d7535f83c189877","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aa479ee11bc78d2f"}} +{"span":{"duration":0.08075,"id":"e0ea995a8bd892ed","name":"Connect 172.23.0.10:3000","timestamp":1646055548006720,"trace_id":"aa479ee11bc78d2ffdf866d0596bd937","type":"external","action":"connect","outcome":"success","parent_id":"4d7535f83c189877","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aa479ee11bc78d2f"}} +{"span":{"duration":27.90175,"id":"4e4bfc519816b225","name":"Request","timestamp":1646055548006812,"trace_id":"aa479ee11bc78d2ffdf866d0596bd937","type":"external","action":"request","outcome":"success","parent_id":"4d7535f83c189877","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aa479ee11bc78d2f"}} +{"span":{"duration":0.055125,"id":"842e1cb0c124994a","name":"Response","timestamp":1646055548034740,"trace_id":"aa479ee11bc78d2ffdf866d0596bd937","type":"external","action":"response","outcome":"success","parent_id":"4d7535f83c189877","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aa479ee11bc78d2f"}} +{"span":{"duration":28.664917000000003,"id":"4d7535f83c189877","name":"GET opbeans-node:3000","timestamp":1646055548006131,"trace_id":"aa479ee11bc78d2ffdf866d0596bd937","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"aa479ee11bc78d2f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aa479ee11bc78d2f"}} +{"transaction":{"duration":28.945501,"id":"aa479ee11bc78d2f","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055548006071,"trace_id":"aa479ee11bc78d2ffdf866d0596bd937","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","Date":"Mon, 28 Feb 2022 13:39:08 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"944"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.072208,"id":"09f58b8a230b9bb3","name":"GET /oopsie","span_count":{"dropped":0,"started":0},"timestamp":1646055548058302,"trace_id":"09f58b8a230b9bb3c4345aacc891d08d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/oopsie","port":"3000","protocol":"http","full":"http://opbeans-go:3000/oopsie"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":500},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":0.336833,"id":"954744554cf08aba","name":"SELECT FROM orders","timestamp":1646055548078706,"trace_id":"26be43aa854d40af089fca4b475510c2","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"26be43aa854d40af","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"26be43aa854d40af"}} +{"span":{"duration":0.430042,"id":"9cbca30f441e2e8a","name":"SELECT FROM products","timestamp":1646055548079079,"trace_id":"26be43aa854d40af089fca4b475510c2","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"26be43aa854d40af","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"26be43aa854d40af"}} +{"transaction":{"duration":0.935666,"id":"26be43aa854d40af","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055548078689,"trace_id":"26be43aa854d40af089fca4b475510c2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/125","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/125"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.542208,"id":"1a6c7b41eeafa35c","name":"SELECT FROM customers","timestamp":1646055548098126,"trace_id":"bcf37092be6dd5daca02f19b9a98cc09","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"bcf37092be6dd5da","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"bcf37092be6dd5da"}} +{"transaction":{"duration":0.732375,"id":"bcf37092be6dd5da","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055548098059,"trace_id":"bcf37092be6dd5daca02f19b9a98cc09","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/432","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/432"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.240833,"id":"05cb15d185417a1f","name":"SELECT FROM product_types","timestamp":1646055548127020,"trace_id":"051576b29b2f6614361f297344947250","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6696af0b38ca8e93","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6696af0b38ca8e93"}} +{"transaction":{"duration":0.33799999999999997,"id":"6696af0b38ca8e93","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055548127007,"trace_id":"051576b29b2f6614361f297344947250","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-051576b29b2f6614361f297344947250-be3f2e47aab5a6eb-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-051576b29b2f6614361f297344947250-be3f2e47aab5a6eb-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"be3f2e47aab5a6eb","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":12.533375,"id":"dccd630bb5bf22f2","name":"Request","timestamp":1646055548119106,"trace_id":"051576b29b2f6614361f297344947250","type":"external","action":"request","outcome":"success","parent_id":"23301b44ca8b7322","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"051576b29b2f6614"}} +{"span":{"duration":0.08512499999999999,"id":"10c2e9c610d4e0ef","name":"Response","timestamp":1646055548131667,"trace_id":"051576b29b2f6614361f297344947250","type":"external","action":"response","outcome":"success","parent_id":"23301b44ca8b7322","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"051576b29b2f6614"}} +{"span":{"duration":12.664208,"id":"23301b44ca8b7322","name":"GET opbeans-ruby:3000","timestamp":1646055548119089,"trace_id":"051576b29b2f6614361f297344947250","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"051576b29b2f6614","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"051576b29b2f6614"}} +{"transaction":{"duration":12.824959,"id":"051576b29b2f6614","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055548119029,"trace_id":"051576b29b2f6614361f297344947250","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.235625,"id":"a86833abeec0429f","name":"SELECT FROM product_types","timestamp":1646055548149863,"trace_id":"9c58ba91d2356d546451576e17c015cc","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8c4b6ef38a0372ed","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8c4b6ef38a0372ed"}} +{"transaction":{"duration":0.306375,"id":"8c4b6ef38a0372ed","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055548149853,"trace_id":"9c58ba91d2356d546451576e17c015cc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Elastic-Apm-Traceparent":"00-9c58ba91d2356d546451576e17c015cc-59bcada200d59834-01","Traceparent":"00-9c58ba91d2356d546451576e17c015cc-59bcada200d59834-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"59bcada200d59834","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.486083,"id":"8a202f21bf85465f","name":"Request","timestamp":1646055548149734,"trace_id":"9c58ba91d2356d546451576e17c015cc","type":"external","action":"request","outcome":"success","parent_id":"59bcada200d59834","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9c58ba91d2356d54"}} +{"span":{"duration":0.024167,"id":"fd1896a04ed4f498","name":"Response","timestamp":1646055548150221,"trace_id":"9c58ba91d2356d546451576e17c015cc","type":"external","action":"response","outcome":"success","parent_id":"59bcada200d59834","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9c58ba91d2356d54"}} +{"span":{"duration":0.5355829999999999,"id":"59bcada200d59834","name":"GET opbeans-go:3000","timestamp":1646055548149710,"trace_id":"9c58ba91d2356d546451576e17c015cc","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types","status_code":200}},"outcome":"success","parent_id":"9c58ba91d2356d54","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9c58ba91d2356d54"}} +{"transaction":{"duration":0.819667,"id":"9c58ba91d2356d54","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055548149448,"trace_id":"9c58ba91d2356d546451576e17c015cc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:08 GMT","Content-Length":"112"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":51.899958000000005,"id":"dc4ed57718c75f53","name":"Request","timestamp":1646055548167823,"trace_id":"ce33ba077efa5adab2c30ad1f7b982bf","type":"external","action":"request","outcome":"success","parent_id":"ce4774efdf76ce93","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ce33ba077efa5ada"}} +{"span":{"duration":0.174041,"id":"d1f807e7839494d5","name":"Response","timestamp":1646055548219757,"trace_id":"ce33ba077efa5adab2c30ad1f7b982bf","type":"external","action":"response","outcome":"success","parent_id":"ce4774efdf76ce93","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ce33ba077efa5ada"}} +{"span":{"duration":52.129916,"id":"ce4774efdf76ce93","name":"GET opbeans-ruby:3000","timestamp":1646055548167801,"trace_id":"ce33ba077efa5adab2c30ad1f7b982bf","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"ce33ba077efa5ada","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ce33ba077efa5ada"}} +{"transaction":{"duration":52.685042,"id":"ce33ba077efa5ada","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055548167514,"trace_id":"ce33ba077efa5adab2c30ad1f7b982bf","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Accept","Etag":"W/\"6b84b8cfae4908f93f790804f2c9e7c9\"","X-Content-Type-Options":"nosniff","X-Permitted-Cross-Domain-Policies":"none","X-Download-Options":"noopen","Cache-Control":"max-age=0, private, must-revalidate","X-Runtime":"0.044403","X-Frame-Options":"SAMEORIGIN","Content-Type":"application/json; charset=utf-8","X-Xss-Protection":"1; mode=block","Referrer-Policy":"strict-origin-when-cross-origin","X-Request-Id":"93017674-868f-4ebe-8574-b9f5f4efbb4d"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.463375,"id":"dc4a3566278e5184","name":"SELECT FROM product_types","timestamp":1646055548240179,"trace_id":"91b4ee963ed2c9046b5babf40b0d4ae2","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"91b4ee963ed2c904","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"91b4ee963ed2c904"}} +{"transaction":{"duration":0.5645830000000001,"id":"91b4ee963ed2c904","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055548240163,"trace_id":"91b4ee963ed2c9046b5babf40b0d4ae2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.583375,"id":"2678d42234f6c317","name":"SELECT FROM products","timestamp":1646055548258752,"trace_id":"65d1b204923ebf1de99d7a4823cda63e","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"65d1b204923ebf1d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"65d1b204923ebf1d"}} +{"transaction":{"duration":0.70825,"id":"65d1b204923ebf1d","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055548258725,"trace_id":"65d1b204923ebf1de99d7a4823cda63e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.5027919999999999,"id":"57c3f1f984b3d23d","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055548277312,"trace_id":"57c3f1f984b3d23d0c77924dbae769f7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.115959,"id":"c8998e224749ee66","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055548294935,"trace_id":"c8998e224749ee6624e1cea6c2636486","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"24e1cea6c2636486","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.379,"id":"34e7ca95c54c25fa","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055548312668,"trace_id":"d461c0dabfe057d44fe369546ba5c0bb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-d461c0dabfe057d44fe369546ba5c0bb-3152b4bac1243903-01","Traceparent":"00-d461c0dabfe057d44fe369546ba5c0bb-3152b4bac1243903-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"3152b4bac1243903","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.7110420000000001,"id":"e8b52b2a2196c240","name":"Request","timestamp":1646055548312506,"trace_id":"d461c0dabfe057d44fe369546ba5c0bb","type":"external","action":"request","outcome":"success","parent_id":"3152b4bac1243903","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d461c0dabfe057d4"}} +{"span":{"duration":0.049917,"id":"cb62234d33c1678a","name":"Response","timestamp":1646055548313218,"trace_id":"d461c0dabfe057d44fe369546ba5c0bb","type":"external","action":"response","outcome":"success","parent_id":"3152b4bac1243903","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d461c0dabfe057d4"}} +{"span":{"duration":0.796875,"id":"3152b4bac1243903","name":"GET opbeans-go:3000","timestamp":1646055548312472,"trace_id":"d461c0dabfe057d44fe369546ba5c0bb","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"d461c0dabfe057d4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d461c0dabfe057d4"}} +{"transaction":{"duration":0.892667,"id":"d461c0dabfe057d4","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055548312412,"trace_id":"d461c0dabfe057d44fe369546ba5c0bb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:08 GMT","Content-Length":"110"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.284584,"id":"62f2f51f5897b8f5","name":"DNS opbeans-python","timestamp":1646055548331019,"trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","type":"external","action":"dns","outcome":"success","parent_id":"d5da1687dfb8e679","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cad9d9cdbd6fd5d5"}} +{"span":{"duration":0.087375,"id":"6bc60859e8f01b8c","name":"Connect 172.23.0.11:3000","timestamp":1646055548331320,"trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","type":"external","action":"connect","outcome":"success","parent_id":"d5da1687dfb8e679","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cad9d9cdbd6fd5d5"}} +{"span":{"duration":88.744625,"id":"64321fed6c03ad5b","name":"Request","timestamp":1646055548331418,"trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","type":"external","action":"request","outcome":"success","parent_id":"d5da1687dfb8e679","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cad9d9cdbd6fd5d5"}} +{"span":{"duration":0.203459,"id":"74d8aba92de281f2","name":"Response","timestamp":1646055548420196,"trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","type":"external","action":"response","outcome":"success","parent_id":"d5da1687dfb8e679","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cad9d9cdbd6fd5d5"}} +{"span":{"duration":89.41225,"id":"d5da1687dfb8e679","name":"GET opbeans-python:3000","timestamp":1646055548330988,"trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"cad9d9cdbd6fd5d5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cad9d9cdbd6fd5d5"}} +{"transaction":{"duration":89.53545799999999,"id":"cad9d9cdbd6fd5d5","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055548330975,"trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-b1ae0ddb2c1463fb11a03248bb60fceb-99729bf8c9ae1269-01","Traceparent":"00-b1ae0ddb2c1463fb11a03248bb60fceb-99729bf8c9ae1269-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"X-Frame-Options":"DENY","Content-Length":"108","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:08 GMT","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"99729bf8c9ae1269","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":89.808042,"id":"28818cdac60d1eba","name":"Request","timestamp":1646055548330925,"trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","type":"external","action":"request","outcome":"success","parent_id":"99729bf8c9ae1269","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b1ae0ddb2c1463fb"}} +{"span":{"duration":0.033624999999999995,"id":"073bc1569ee65f7b","name":"Response","timestamp":1646055548420751,"trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","type":"external","action":"response","outcome":"success","parent_id":"99729bf8c9ae1269","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b1ae0ddb2c1463fb"}} +{"span":{"duration":89.87833400000001,"id":"99729bf8c9ae1269","name":"GET opbeans-go:3000","timestamp":1646055548330907,"trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"b1ae0ddb2c1463fb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b1ae0ddb2c1463fb"}} +{"transaction":{"duration":90.006,"id":"b1ae0ddb2c1463fb","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055548330848,"trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"108","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:08 GMT","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":31.610959,"id":"44d6b461a640b19e","name":"Request","timestamp":1646055548439516,"trace_id":"ed29d1d20a25fbfbd86ca10bec203a0a","type":"external","action":"request","outcome":"success","parent_id":"257e0ba2f4bc9c65","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ed29d1d20a25fbfb"}} +{"span":{"duration":2.1535,"id":"8c95bac5a26dce97","name":"Response","timestamp":1646055548471161,"trace_id":"ed29d1d20a25fbfbd86ca10bec203a0a","type":"external","action":"response","outcome":"success","parent_id":"257e0ba2f4bc9c65","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ed29d1d20a25fbfb"}} +{"span":{"duration":33.821375,"id":"257e0ba2f4bc9c65","name":"GET opbeans-ruby:3000","timestamp":1646055548439496,"trace_id":"ed29d1d20a25fbfbd86ca10bec203a0a","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/5/customers?limit=70","status_code":200}},"outcome":"success","parent_id":"ed29d1d20a25fbfb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ed29d1d20a25fbfb"}} +{"transaction":{"duration":34.139583,"id":"ed29d1d20a25fbfb","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055548439314,"trace_id":"ed29d1d20a25fbfbd86ca10bec203a0a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=70","full":"http://opbeans-go:3000/api/products/5/customers?limit=70"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Accept","X-Runtime":"0.023665","X-Request-Id":"55440521-92d0-4b48-b6ee-ffbc5c373c9a","X-Frame-Options":"SAMEORIGIN","Referrer-Policy":"strict-origin-when-cross-origin","Content-Type":"application/json; charset=utf-8","X-Download-Options":"noopen","Cache-Control":"max-age=0, private, must-revalidate","Etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","X-Xss-Protection":"1; mode=block","X-Permitted-Cross-Domain-Policies":"none","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.384834,"id":"54e0291165a3ad64","name":"SELECT FROM customers","timestamp":1646055548492811,"trace_id":"a13c72cd4ec370497ea6e4c723dfe627","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a13c72cd4ec37049","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a13c72cd4ec37049"}} +{"transaction":{"duration":0.51075,"id":"a13c72cd4ec37049","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055548492788,"trace_id":"a13c72cd4ec370497ea6e4c723dfe627","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/5951","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/5951"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":175.888166,"id":"1e46d449841ed717","name":"Request","timestamp":1646055548511611,"trace_id":"f2e8c91733f1d3480de2cef0a62ff338","type":"external","action":"request","outcome":"success","parent_id":"05f5bbd53d953d39","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f2e8c91733f1d348"}} +{"span":{"duration":3.546375,"id":"9438e0753bcee926","name":"Response","timestamp":1646055548687625,"trace_id":"f2e8c91733f1d3480de2cef0a62ff338","type":"external","action":"response","outcome":"success","parent_id":"05f5bbd53d953d39","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f2e8c91733f1d348"}} +{"span":{"duration":179.66750000000002,"id":"05f5bbd53d953d39","name":"GET opbeans-node:3000","timestamp":1646055548511516,"trace_id":"f2e8c91733f1d3480de2cef0a62ff338","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"f2e8c91733f1d348","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f2e8c91733f1d348"}} +{"transaction":{"duration":179.800292,"id":"f2e8c91733f1d348","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055548511458,"trace_id":"f2e8c91733f1d3480de2cef0a62ff338","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"186769","Etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","Date":"Mon, 28 Feb 2022 13:39:08 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.214916,"id":"30700c51862f297b","name":"SELECT FROM product_types","timestamp":1646055548707894,"trace_id":"1b40e269f5df2d7a42568fcaf97dfbee","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"315cca26cea77454","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"315cca26cea77454"}} +{"transaction":{"duration":0.34254100000000004,"id":"315cca26cea77454","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055548707885,"trace_id":"1b40e269f5df2d7a42568fcaf97dfbee","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-1b40e269f5df2d7a42568fcaf97dfbee-18e1f3bf952ac9fd-01","Traceparent":"00-1b40e269f5df2d7a42568fcaf97dfbee-18e1f3bf952ac9fd-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"18e1f3bf952ac9fd","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.455083,"id":"95cf66edb7a7c267","name":"Request","timestamp":1646055548707818,"trace_id":"1b40e269f5df2d7a42568fcaf97dfbee","type":"external","action":"request","outcome":"success","parent_id":"18e1f3bf952ac9fd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1b40e269f5df2d7a"}} +{"span":{"duration":0.022291000000000002,"id":"03569f0972e7cb01","name":"Response","timestamp":1646055548708274,"trace_id":"1b40e269f5df2d7a42568fcaf97dfbee","type":"external","action":"response","outcome":"success","parent_id":"18e1f3bf952ac9fd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1b40e269f5df2d7a"}} +{"span":{"duration":0.526459,"id":"18e1f3bf952ac9fd","name":"GET opbeans-go:3000","timestamp":1646055548707770,"trace_id":"1b40e269f5df2d7a42568fcaf97dfbee","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types","status_code":200}},"outcome":"success","parent_id":"1b40e269f5df2d7a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1b40e269f5df2d7a"}} +{"transaction":{"duration":0.615083,"id":"1b40e269f5df2d7a","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055548707711,"trace_id":"1b40e269f5df2d7a42568fcaf97dfbee","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:08 GMT","Content-Length":"112","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.28191700000000003,"id":"530e6f77bf268221","name":"DNS opbeans-ruby","timestamp":1646055548726692,"trace_id":"5919492726816523725555664c49c18d","type":"external","action":"dns","outcome":"success","parent_id":"0076a907c67d3869","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5919492726816523"}} +{"span":{"duration":1.168208,"id":"983b15ea44ac56b1","name":"Connect 172.23.0.12:3000","timestamp":1646055548726978,"trace_id":"5919492726816523725555664c49c18d","type":"external","action":"connect","outcome":"success","parent_id":"0076a907c67d3869","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5919492726816523"}} +{"span":{"duration":75.65724999999999,"id":"eda5f93f96aec1f2","name":"Request","timestamp":1646055548728163,"trace_id":"5919492726816523725555664c49c18d","type":"external","action":"request","outcome":"success","parent_id":"0076a907c67d3869","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5919492726816523"}} +{"span":{"duration":0.14387499999999998,"id":"22cc6b103c4c00ab","name":"Response","timestamp":1646055548803849,"trace_id":"5919492726816523725555664c49c18d","type":"external","action":"response","outcome":"success","parent_id":"0076a907c67d3869","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5919492726816523"}} +{"span":{"duration":77.36312500000001,"id":"0076a907c67d3869","name":"GET opbeans-ruby:3000","timestamp":1646055548726631,"trace_id":"5919492726816523725555664c49c18d","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"5919492726816523","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5919492726816523"}} +{"transaction":{"duration":77.719167,"id":"5919492726816523","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055548726394,"trace_id":"5919492726816523725555664c49c18d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.319833,"id":"229c59b2fbf8653f","name":"SELECT FROM customers","timestamp":1646055548827907,"trace_id":"0125cdbfab52c6cb502354e091688612","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0125cdbfab52c6cb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0125cdbfab52c6cb"}} +{"transaction":{"duration":0.530375,"id":"0125cdbfab52c6cb","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055548827886,"trace_id":"0125cdbfab52c6cb502354e091688612","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/696","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/696"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.37575,"id":"583c220492781e90","name":"SELECT FROM orders","timestamp":1646055548847979,"trace_id":"9d484ff64d2eeaa85cacc627728bb5f2","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9d484ff64d2eeaa8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9d484ff64d2eeaa8"}} +{"transaction":{"duration":3.6985419999999998,"id":"9d484ff64d2eeaa8","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055548847955,"trace_id":"9d484ff64d2eeaa85cacc627728bb5f2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.013833,"id":"691ba32a5cfb9d68","name":"SELECT FROM customers","timestamp":1646055548872682,"trace_id":"cd98cd58479319f81b8db235714f7571","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"cd98cd58479319f8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"cd98cd58479319f8"}} +{"transaction":{"duration":2.943667,"id":"cd98cd58479319f8","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055548872660,"trace_id":"cd98cd58479319f81b8db235714f7571","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":88.597959,"id":"0622ec4bcff1acf4","name":"Request","timestamp":1646055548900122,"trace_id":"a52047181e76c81e62439bebc72ce3fe","type":"external","action":"request","outcome":"success","parent_id":"cddae021248ec428","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a52047181e76c81e"}} +{"span":{"duration":0.341667,"id":"47b1a37efb9b4527","name":"Response","timestamp":1646055548988774,"trace_id":"a52047181e76c81e62439bebc72ce3fe","type":"external","action":"response","outcome":"success","parent_id":"cddae021248ec428","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a52047181e76c81e"}} +{"span":{"duration":89.01320799999999,"id":"cddae021248ec428","name":"GET opbeans-ruby:3000","timestamp":1646055548900103,"trace_id":"a52047181e76c81e62439bebc72ce3fe","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"a52047181e76c81e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a52047181e76c81e"}} +{"transaction":{"duration":89.22800000000001,"id":"a52047181e76c81e","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055548900025,"trace_id":"a52047181e76c81e62439bebc72ce3fe","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Accept","X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","X-Runtime":"0.078338","X-Request-Id":"459e4fb6-f8b7-4b92-a206-f65fe4815e68","X-Frame-Options":"SAMEORIGIN","Etag":"W/\"195dc75dd23c6abbf5c85d7fd3d619d1\"","Cache-Control":"max-age=0, private, must-revalidate","X-Xss-Protection":"1; mode=block","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.40091699999999997,"id":"d2519d1dc06b16a2","name":"SELECT FROM product_types","timestamp":1646055549013600,"trace_id":"2e42e30f7fed743f49cc058f337c85c0","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2e42e30f7fed743f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2e42e30f7fed743f"}} +{"transaction":{"duration":0.568542,"id":"2e42e30f7fed743f","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055549013529,"trace_id":"2e42e30f7fed743f49cc058f337c85c0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":33.499333,"id":"37f68904db0609be","name":"Request","timestamp":1646055549032251,"trace_id":"2e850ca6d228df4e7a69ae63b726555b","type":"external","action":"request","outcome":"success","parent_id":"eae5d6a7dca9a2cc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2e850ca6d228df4e"}} +{"span":{"duration":0.054875,"id":"d3336f60865dc12f","name":"Response","timestamp":1646055549065778,"trace_id":"2e850ca6d228df4e7a69ae63b726555b","type":"external","action":"response","outcome":"success","parent_id":"eae5d6a7dca9a2cc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2e850ca6d228df4e"}} +{"span":{"duration":33.625833,"id":"eae5d6a7dca9a2cc","name":"GET opbeans-ruby:3000","timestamp":1646055549032208,"trace_id":"2e850ca6d228df4e7a69ae63b726555b","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/498","status_code":404}},"outcome":"failure","parent_id":"2e850ca6d228df4e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2e850ca6d228df4e"}} +{"transaction":{"duration":33.950375,"id":"2e850ca6d228df4e","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055549032098,"trace_id":"2e850ca6d228df4e7a69ae63b726555b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/498","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/498"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"1722","Content-Type":"text/html; charset=UTF-8","X-Request-Id":"98bbb18e-bd79-4466-8367-680ddf0a3c7e","X-Runtime":"0.026755"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.785375,"id":"173e4159b28708de","name":"DNS opbeans-node","timestamp":1646055549089938,"trace_id":"f0e9015be244fd91de4be6be0a7a40b5","type":"external","action":"dns","outcome":"success","parent_id":"34b7641ef51dfc10","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f0e9015be244fd91"}} +{"span":{"duration":0.206458,"id":"209c8c584cd597c5","name":"Connect 172.23.0.10:3000","timestamp":1646055549090734,"trace_id":"f0e9015be244fd91de4be6be0a7a40b5","type":"external","action":"connect","outcome":"success","parent_id":"34b7641ef51dfc10","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f0e9015be244fd91"}} +{"span":{"duration":66.387083,"id":"d120d52c4d36441a","name":"Request","timestamp":1646055549090958,"trace_id":"f0e9015be244fd91de4be6be0a7a40b5","type":"external","action":"request","outcome":"success","parent_id":"34b7641ef51dfc10","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f0e9015be244fd91"}} +{"span":{"duration":0.12045800000000001,"id":"7d717d00dc1fda2d","name":"Response","timestamp":1646055549157370,"trace_id":"f0e9015be244fd91de4be6be0a7a40b5","type":"external","action":"response","outcome":"success","parent_id":"34b7641ef51dfc10","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f0e9015be244fd91"}} +{"span":{"duration":67.816625,"id":"34b7641ef51dfc10","name":"GET opbeans-node:3000","timestamp":1646055549089675,"trace_id":"f0e9015be244fd91de4be6be0a7a40b5","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"f0e9015be244fd91","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f0e9015be244fd91"}} +{"transaction":{"duration":68.349333,"id":"f0e9015be244fd91","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055549089305,"trace_id":"f0e9015be244fd91de4be6be0a7a40b5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","X-Powered-By":"Express","Referrer-Policy":"same-origin","Content-Type":"application/json","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:39:09 GMT","Server":"gunicorn","Content-Length":"309","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":55.430834,"id":"f33dd56320ac35b4","name":"Request","timestamp":1646055549175774,"trace_id":"33d0b7a5b1a20a6c53b2a0dd1c8fbaf5","type":"external","action":"request","outcome":"success","parent_id":"ca4e7663b2acae43","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"33d0b7a5b1a20a6c"}} +{"span":{"duration":0.13075,"id":"193949ab4fb1c6ad","name":"Response","timestamp":1646055549231232,"trace_id":"33d0b7a5b1a20a6c53b2a0dd1c8fbaf5","type":"external","action":"response","outcome":"success","parent_id":"ca4e7663b2acae43","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"33d0b7a5b1a20a6c"}} +{"span":{"duration":55.606375,"id":"ca4e7663b2acae43","name":"GET opbeans-ruby:3000","timestamp":1646055549175757,"trace_id":"33d0b7a5b1a20a6c53b2a0dd1c8fbaf5","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"33d0b7a5b1a20a6c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"33d0b7a5b1a20a6c"}} +{"transaction":{"duration":57.27925,"id":"33d0b7a5b1a20a6c","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055549175691,"trace_id":"33d0b7a5b1a20a6c53b2a0dd1c8fbaf5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.358333,"id":"38a6ae7138667033","name":"SELECT FROM customers","timestamp":1646055549256028,"trace_id":"d47b870b3fb04aa250bb1deee8dfe32e","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d47b870b3fb04aa2","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d47b870b3fb04aa2"}} +{"transaction":{"duration":0.751292,"id":"d47b870b3fb04aa2","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055549256003,"trace_id":"d47b870b3fb04aa250bb1deee8dfe32e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/9651","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/9651"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.476791,"id":"acd2ea37fc8daa4e","name":"SELECT FROM customers","timestamp":1646055549265289,"trace_id":"68f3c15f007725284dac2a4198e46cdd","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5723afd488a12ce5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5723afd488a12ce5"}} +{"transaction":{"duration":0.645208,"id":"5723afd488a12ce5","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055549265265,"trace_id":"68f3c15f007725284dac2a4198e46cdd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/534","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/534"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-68f3c15f007725284dac2a4198e46cdd-6ef68163e113e39a-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-68f3c15f007725284dac2a4198e46cdd-6ef68163e113e39a-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6ef68163e113e39a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":33.832875,"id":"2791ac0e50239b48","name":"Request","timestamp":1646055549247851,"trace_id":"68f3c15f007725284dac2a4198e46cdd","type":"external","action":"request","outcome":"success","parent_id":"05dbc908253792c7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c941a981de185d96"}} +{"span":{"duration":0.432667,"id":"c735df0ebdfa4bc2","name":"Response","timestamp":1646055549281716,"trace_id":"68f3c15f007725284dac2a4198e46cdd","type":"external","action":"response","outcome":"success","parent_id":"05dbc908253792c7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c941a981de185d96"}} +{"span":{"duration":34.3235,"id":"05dbc908253792c7","name":"GET opbeans-ruby:3000","timestamp":1646055549247827,"trace_id":"68f3c15f007725284dac2a4198e46cdd","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/534","status_code":200}},"outcome":"success","parent_id":"c941a981de185d96","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c941a981de185d96"}} +{"transaction":{"duration":34.683584,"id":"c941a981de185d96","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055549247725,"trace_id":"68f3c15f007725284dac2a4198e46cdd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/534","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/534"},"headers":{"Traceparent":"00-68f3c15f007725284dac2a4198e46cdd-273b820704882999-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-68f3c15f007725284dac2a4198e46cdd-273b820704882999-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"273b820704882999","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.062666,"id":"d0c31685efec4160","name":"GET /oopsie","span_count":{"dropped":0,"started":0},"timestamp":1646055549294851,"trace_id":"d0c31685efec4160c4253669098bca4d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/oopsie","port":"3000","protocol":"http","full":"http://opbeans-go:3000/oopsie"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":500},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":0.356958,"id":"458c8b3cb5098053","name":"DNS opbeans-python","timestamp":1646055549314017,"trace_id":"8c09d8bf6dd1c8025e392ccec29ecd88","type":"external","action":"dns","outcome":"success","parent_id":"766f23e43f585bfd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8c09d8bf6dd1c802"}} +{"span":{"duration":0.10925,"id":"a99fed44295d7571","name":"Connect 172.23.0.11:3000","timestamp":1646055549314380,"trace_id":"8c09d8bf6dd1c8025e392ccec29ecd88","type":"external","action":"connect","outcome":"success","parent_id":"766f23e43f585bfd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8c09d8bf6dd1c802"}} +{"span":{"duration":47.892542000000006,"id":"8992af26371af3e9","name":"Request","timestamp":1646055549314499,"trace_id":"8c09d8bf6dd1c8025e392ccec29ecd88","type":"external","action":"request","outcome":"success","parent_id":"766f23e43f585bfd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8c09d8bf6dd1c802"}} +{"span":{"duration":2.93275,"id":"40f433558282605a","name":"Response","timestamp":1646055549362419,"trace_id":"8c09d8bf6dd1c8025e392ccec29ecd88","type":"external","action":"response","outcome":"success","parent_id":"766f23e43f585bfd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8c09d8bf6dd1c802"}} +{"span":{"duration":51.418584,"id":"766f23e43f585bfd","name":"GET opbeans-python:3000","timestamp":1646055549313939,"trace_id":"8c09d8bf6dd1c8025e392ccec29ecd88","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"8c09d8bf6dd1c802","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8c09d8bf6dd1c802"}} +{"transaction":{"duration":51.682291,"id":"8c09d8bf6dd1c802","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055549313830,"trace_id":"8c09d8bf6dd1c8025e392ccec29ecd88","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:09 GMT","Content-Type":"application/json","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.38829199999999997,"id":"e2ccb7c921c31a0d","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055549383597,"trace_id":"e2ccb7c921c31a0dd75f9ebabc035836","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.696042,"id":"959a1c1517e66362","name":"DNS opbeans-node","timestamp":1646055549402028,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"dns","outcome":"success","parent_id":"e702bd5dd8b2067c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5905c6febf50b2a1"}} +{"span":{"duration":0.128417,"id":"182649b632242e23","name":"Connect 172.23.0.10:3000","timestamp":1646055549402730,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"connect","outcome":"success","parent_id":"e702bd5dd8b2067c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5905c6febf50b2a1"}} +{"span":{"duration":0.24483300000000002,"id":"2f7d3a29440aad47","name":"DNS opbeans-python","timestamp":1646055549420068,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"dns","outcome":"success","parent_id":"1c370ba8fdd6cd34","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"23c2b4b84f7e3e87"}} +{"span":{"duration":0.124709,"id":"2d977aa6bfd6fb18","name":"Connect 172.23.0.11:3000","timestamp":1646055549420317,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"connect","outcome":"success","parent_id":"1c370ba8fdd6cd34","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"23c2b4b84f7e3e87"}} +{"span":{"duration":0.368709,"id":"0bfb65fae1b412a0","name":"DNS opbeans-python","timestamp":1646055549453344,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"dns","outcome":"success","parent_id":"dfcfec89d9e82cd1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"762d0033dbc53a94"}} +{"span":{"duration":0.11995800000000001,"id":"bc91936862330e9e","name":"Connect 172.23.0.11:3000","timestamp":1646055549453717,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"connect","outcome":"success","parent_id":"dfcfec89d9e82cd1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"762d0033dbc53a94"}} +{"span":{"duration":0.21775,"id":"ded5efed78b229da","name":"DNS opbeans-python","timestamp":1646055549502737,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"dns","outcome":"success","parent_id":"7b97cc45d9b7d1a3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3f07bb78bf345c98"}} +{"span":{"duration":0.078458,"id":"adb527636c0dc6bf","name":"Connect 172.23.0.11:3000","timestamp":1646055549502959,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"connect","outcome":"success","parent_id":"7b97cc45d9b7d1a3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3f07bb78bf345c98"}} +{"span":{"duration":242.808541,"id":"5a1739056a66ea83","name":"Request","timestamp":1646055550169843,"trace_id":"56e69a86450a62a52513ce3598e7ac12","type":"external","action":"request","outcome":"success","parent_id":"e847a7ba4c99d9f9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"56e69a86450a62a5"}} +{"span":{"duration":1.017,"id":"f718a20578a3ed72","name":"Response","timestamp":1646055550412682,"trace_id":"56e69a86450a62a52513ce3598e7ac12","type":"external","action":"response","outcome":"success","parent_id":"e847a7ba4c99d9f9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"56e69a86450a62a5"}} +{"span":{"duration":243.899416,"id":"e847a7ba4c99d9f9","name":"GET opbeans-ruby:3000","timestamp":1646055550169801,"trace_id":"56e69a86450a62a52513ce3598e7ac12","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"56e69a86450a62a5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"56e69a86450a62a5"}} +{"transaction":{"duration":244.36925000000002,"id":"56e69a86450a62a5","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055550169661,"trace_id":"56e69a86450a62a52513ce3598e7ac12","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"X-Permitted-Cross-Domain-Policies":"none","X-Request-Id":"c704002a-0a02-4d0e-a707-e444d3492564","X-Frame-Options":"SAMEORIGIN","X-Xss-Protection":"1; mode=block","Cache-Control":"max-age=0, private, must-revalidate","X-Runtime":"0.224713","Referrer-Policy":"strict-origin-when-cross-origin","X-Download-Options":"noopen","Etag":"W/\"195dc75dd23c6abbf5c85d7fd3d619d1\"","Content-Type":"application/json; charset=utf-8","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":4.534458,"id":"98def701da43b0f9","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055550768206,"trace_id":"773c4046c1bbeb1cc20f24f190844fba","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Traceparent":"00-773c4046c1bbeb1cc20f24f190844fba-1ff3188e2e4e14ae-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-773c4046c1bbeb1cc20f24f190844fba-1ff3188e2e4e14ae-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"1ff3188e2e4e14ae","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.163333,"id":"08dd7e27a8fc8747","name":"DNS opbeans-python","timestamp":1646055552354697,"trace_id":"cce2a808525e0e5b8ca31d009d18ba8e","type":"external","action":"dns","outcome":"success","parent_id":"2edf712ec5b7ea4b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7a420f1637898652"}} +{"span":{"duration":0.148459,"id":"4cc946c9a13b9dd1","name":"Connect 172.23.0.11:3000","timestamp":1646055552355871,"trace_id":"cce2a808525e0e5b8ca31d009d18ba8e","type":"external","action":"connect","outcome":"success","parent_id":"2edf712ec5b7ea4b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7a420f1637898652"}} +{"span":{"duration":3.9832089999999996,"id":"4761dcb4fa53f8b8","name":"SELECT FROM customers","timestamp":1646055554768360,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"426371ef4920aec8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"426371ef4920aec8"}} +{"transaction":{"duration":9.854292000000001,"id":"426371ef4920aec8","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055554768302,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-5905c6febf50b2a1601c7bcf810c6abc-ceb61069171ff0a3-01","Elastic-Apm-Traceparent":"00-5905c6febf50b2a1601c7bcf810c6abc-ceb61069171ff0a3-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ceb61069171ff0a3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":5288.342919,"id":"9ce235e00b3ffbe4","name":"Request","timestamp":1646055549503046,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"request","outcome":"success","parent_id":"7b97cc45d9b7d1a3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3f07bb78bf345c98"}} +{"span":{"duration":0.445834,"id":"6752c3ef7948d2b4","name":"Response","timestamp":1646055554791508,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"response","outcome":"success","parent_id":"7b97cc45d9b7d1a3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3f07bb78bf345c98"}} +{"span":{"duration":5289.2556270000005,"id":"7b97cc45d9b7d1a3","name":"GET opbeans-python:3000","timestamp":1646055549502700,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/2/customers","status_code":200}},"outcome":"success","parent_id":"3f07bb78bf345c98","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3f07bb78bf345c98"}} +{"transaction":{"duration":5289.928294,"id":"3f07bb78bf345c98","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055549502526,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-5905c6febf50b2a1601c7bcf810c6abc-73c60f6cdf34f661-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-5905c6febf50b2a1601c7bcf810c6abc-73c60f6cdf34f661-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Vary":"Cookie","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:39:14 GMT","X-Frame-Options":"DENY","Content-Length":"110745","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"73c60f6cdf34f661","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":5496.189710999999,"id":"a7b9db588112ace6","name":"Request","timestamp":1646055549453848,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"request","outcome":"success","parent_id":"dfcfec89d9e82cd1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"762d0033dbc53a94"}} +{"span":{"duration":0.734,"id":"7766344264fbecec","name":"Response","timestamp":1646055554950121,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"response","outcome":"success","parent_id":"dfcfec89d9e82cd1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"762d0033dbc53a94"}} +{"span":{"duration":5497.555668999999,"id":"dfcfec89d9e82cd1","name":"GET opbeans-python:3000","timestamp":1646055549453302,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/2/customers","status_code":200}},"outcome":"success","parent_id":"762d0033dbc53a94","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"762d0033dbc53a94"}} +{"transaction":{"duration":5497.882794,"id":"762d0033dbc53a94","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055549453234,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"Connection":"close","Traceparent":"00-5905c6febf50b2a1601c7bcf810c6abc-9eb4a7672e9c690e-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-5905c6febf50b2a1601c7bcf810c6abc-9eb4a7672e9c690e-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Server":"gunicorn","Content-Type":"application/json; charset=utf-8","Vary":"Cookie","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:14 GMT","X-Frame-Options":"DENY","Content-Length":"110745"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"9eb4a7672e9c690e","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2834.8075010000002,"id":"2ee998926e4e4e30","name":"Request","timestamp":1646055552356055,"trace_id":"cce2a808525e0e5b8ca31d009d18ba8e","type":"external","action":"request","outcome":"success","parent_id":"2edf712ec5b7ea4b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7a420f1637898652"}} +{"span":{"duration":14.341125,"id":"931989c10bf95e84","name":"Response","timestamp":1646055555191143,"trace_id":"cce2a808525e0e5b8ca31d009d18ba8e","type":"external","action":"response","outcome":"success","parent_id":"2edf712ec5b7ea4b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7a420f1637898652"}} +{"span":{"duration":2852.8488350000002,"id":"2edf712ec5b7ea4b","name":"GET opbeans-python:3000","timestamp":1646055552354073,"trace_id":"cce2a808525e0e5b8ca31d009d18ba8e","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/302","status_code":200}},"outcome":"success","parent_id":"7a420f1637898652","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7a420f1637898652"}} +{"transaction":{"duration":2855.0090020000002,"id":"7a420f1637898652","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055552353803,"trace_id":"cce2a808525e0e5b8ca31d009d18ba8e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/302","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/302"},"headers":{"Traceparent":"00-cce2a808525e0e5b8ca31d009d18ba8e-1529fcf39c75cb47-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-cce2a808525e0e5b8ca31d009d18ba8e-1529fcf39c75cb47-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","Content-Type":"application/json","Content-Length":"311","Date":"Mon, 28 Feb 2022 13:39:15 GMT","X-Frame-Options":"DENY","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"1529fcf39c75cb47","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":559.799083,"id":"c39e7dbb855c1228","name":"Request","timestamp":1646055554760875,"trace_id":"ced65dc74cc80a1a0843a2623045c86f","type":"external","action":"request","outcome":"success","parent_id":"463d9be337871cac","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"29fe80d2fb6fad22"}} +{"span":{"duration":0.46275,"id":"4b7ae7addc08fbda","name":"Response","timestamp":1646055555320702,"trace_id":"ced65dc74cc80a1a0843a2623045c86f","type":"external","action":"response","outcome":"success","parent_id":"463d9be337871cac","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"29fe80d2fb6fad22"}} +{"span":{"duration":560.3250419999999,"id":"463d9be337871cac","name":"GET opbeans-ruby:3000","timestamp":1646055554760843,"trace_id":"ced65dc74cc80a1a0843a2623045c86f","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"29fe80d2fb6fad22","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"29fe80d2fb6fad22"}} +{"transaction":{"duration":561.282375,"id":"29fe80d2fb6fad22","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055554760759,"trace_id":"ced65dc74cc80a1a0843a2623045c86f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Traceparent":"00-ced65dc74cc80a1a0843a2623045c86f-f0693f7e1d970285-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-ced65dc74cc80a1a0843a2623045c86f-f0693f7e1d970285-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","X-Request-Id":"85ff4ea1-aedf-423d-ae17-e6d9e9fe27b9","Cache-Control":"max-age=0, private, must-revalidate","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","Etag":"W/\"6b84b8cfae4908f93f790804f2c9e7c9\"","X-Runtime":"0.472051","X-Xss-Protection":"1; mode=block","Referrer-Policy":"strict-origin-when-cross-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f0693f7e1d970285","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":5962.880252999999,"id":"cee492843c6b77aa","name":"Request","timestamp":1646055549420454,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"request","outcome":"success","parent_id":"1c370ba8fdd6cd34","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"23c2b4b84f7e3e87"}} +{"span":{"duration":10.731708,"id":"8acf89628b0fe344","name":"Response","timestamp":1646055555383367,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"response","outcome":"success","parent_id":"1c370ba8fdd6cd34","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"23c2b4b84f7e3e87"}} +{"span":{"duration":5974.105961,"id":"1c370ba8fdd6cd34","name":"GET opbeans-python:3000","timestamp":1646055549420031,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/2/customers","status_code":200}},"outcome":"success","parent_id":"23c2b4b84f7e3e87","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"23c2b4b84f7e3e87"}} +{"transaction":{"duration":5974.356877,"id":"23c2b4b84f7e3e87","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055549419964,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"Traceparent":"00-5905c6febf50b2a1601c7bcf810c6abc-ad76e87f1a2e5a9a-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-5905c6febf50b2a1601c7bcf810c6abc-ad76e87f1a2e5a9a-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:39:15 GMT","Content-Type":"application/json; charset=utf-8","Referrer-Policy":"same-origin","Server":"gunicorn","X-Frame-Options":"DENY","Content-Length":"110745"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ad76e87f1a2e5a9a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":6144.564295,"id":"7c62bad5ed9d3b02","name":"Request","timestamp":1646055549402869,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"request","outcome":"success","parent_id":"e702bd5dd8b2067c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5905c6febf50b2a1"}} +{"span":{"duration":1.6212920000000002,"id":"bde29d29ba96794a","name":"Response","timestamp":1646055555547511,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","action":"response","outcome":"success","parent_id":"e702bd5dd8b2067c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5905c6febf50b2a1"}} +{"span":{"duration":6147.179795,"id":"e702bd5dd8b2067c","name":"GET opbeans-node:3000","timestamp":1646055549401955,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/2/customers","status_code":200}},"outcome":"success","parent_id":"5905c6febf50b2a1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5905c6febf50b2a1"}} +{"transaction":{"duration":6147.620712,"id":"5905c6febf50b2a1","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055549401745,"trace_id":"5905c6febf50b2a1601c7bcf810c6abc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Type":"application/json; charset=utf-8","Referrer-Policy":"same-origin","Content-Length":"110745","Date":"Mon, 28 Feb 2022 13:39:15 GMT","Server":"gunicorn","Vary":"Cookie","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.506584,"id":"171a64f265585cd7","name":"DNS opbeans-node","timestamp":1646055555594711,"trace_id":"bf3a81534222105ee90a3ec4b737e0a6","type":"external","action":"dns","outcome":"success","parent_id":"86bf4367fc25bc9e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bf3a81534222105e"}} +{"span":{"duration":0.141125,"id":"0e5dd57b82662910","name":"Connect 172.23.0.10:3000","timestamp":1646055555595223,"trace_id":"bf3a81534222105ee90a3ec4b737e0a6","type":"external","action":"connect","outcome":"success","parent_id":"86bf4367fc25bc9e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bf3a81534222105e"}} +{"span":{"duration":0.79325,"id":"0e60520dc54f52e4","name":"DNS opbeans-python","timestamp":1646055555807728,"trace_id":"bf3a81534222105ee90a3ec4b737e0a6","type":"external","action":"dns","outcome":"success","parent_id":"4f1c3334e3d35837","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d16fbc68f4098fc2"}} +{"span":{"duration":0.149208,"id":"b0a8bf840cdd9dce","name":"Connect 172.23.0.11:3000","timestamp":1646055555808685,"trace_id":"bf3a81534222105ee90a3ec4b737e0a6","type":"external","action":"connect","outcome":"success","parent_id":"4f1c3334e3d35837","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d16fbc68f4098fc2"}} +{"span":{"duration":119.759208,"id":"b31abb484e027144","name":"Request","timestamp":1646055555808854,"trace_id":"bf3a81534222105ee90a3ec4b737e0a6","type":"external","action":"request","outcome":"success","parent_id":"4f1c3334e3d35837","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d16fbc68f4098fc2"}} +{"span":{"duration":0.161292,"id":"beacb75b7e16663d","name":"Response","timestamp":1646055555928649,"trace_id":"bf3a81534222105ee90a3ec4b737e0a6","type":"external","action":"response","outcome":"success","parent_id":"4f1c3334e3d35837","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d16fbc68f4098fc2"}} +{"span":{"duration":121.17262500000001,"id":"4f1c3334e3d35837","name":"GET opbeans-python:3000","timestamp":1646055555807639,"trace_id":"bf3a81534222105ee90a3ec4b737e0a6","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"d16fbc68f4098fc2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d16fbc68f4098fc2"}} +{"transaction":{"duration":121.502375,"id":"d16fbc68f4098fc2","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055555807468,"trace_id":"bf3a81534222105ee90a3ec4b737e0a6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Traceparent":"00-bf3a81534222105ee90a3ec4b737e0a6-77f76e4bfb8ed052-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-bf3a81534222105ee90a3ec4b737e0a6-77f76e4bfb8ed052-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Length":"83","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:15 GMT","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"77f76e4bfb8ed052","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":390.951292,"id":"14ec8bfa32ead0f8","name":"Request","timestamp":1646055555595384,"trace_id":"bf3a81534222105ee90a3ec4b737e0a6","type":"external","action":"request","outcome":"success","parent_id":"86bf4367fc25bc9e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bf3a81534222105e"}} +{"span":{"duration":0.269542,"id":"df23430382cf7265","name":"Response","timestamp":1646055555986361,"trace_id":"bf3a81534222105ee90a3ec4b737e0a6","type":"external","action":"response","outcome":"success","parent_id":"86bf4367fc25bc9e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bf3a81534222105e"}} +{"span":{"duration":391.998792,"id":"86bf4367fc25bc9e","name":"GET opbeans-node:3000","timestamp":1646055555594633,"trace_id":"bf3a81534222105ee90a3ec4b737e0a6","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"bf3a81534222105e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bf3a81534222105e"}} +{"transaction":{"duration":392.32462499999997,"id":"bf3a81534222105e","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055555594460,"trace_id":"bf3a81534222105ee90a3ec4b737e0a6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:15 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6469159999999999,"id":"1c73f43adc0d18a5","name":"DNS opbeans-node","timestamp":1646055556009850,"trace_id":"6bf63d894d741b916f05de7c3ea8b8c4","type":"external","action":"dns","outcome":"success","parent_id":"95c4957b73669910","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6bf63d894d741b91"}} +{"span":{"duration":0.466375,"id":"399de06b97ad3b0c","name":"Connect 172.23.0.10:3000","timestamp":1646055556010504,"trace_id":"6bf63d894d741b916f05de7c3ea8b8c4","type":"external","action":"connect","outcome":"success","parent_id":"95c4957b73669910","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6bf63d894d741b91"}} +{"span":{"duration":0.329708,"id":"476cd70b199f4cec","name":"SELECT FROM product_types","timestamp":1646055556063068,"trace_id":"6bf63d894d741b916f05de7c3ea8b8c4","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"757cd15f914932d8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"757cd15f914932d8"}} +{"transaction":{"duration":0.649791,"id":"757cd15f914932d8","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055556063001,"trace_id":"6bf63d894d741b916f05de7c3ea8b8c4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Traceparent":"00-6bf63d894d741b916f05de7c3ea8b8c4-a774d7d61dcda7e5-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-6bf63d894d741b916f05de7c3ea8b8c4-a774d7d61dcda7e5-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a774d7d61dcda7e5","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":67.624292,"id":"78125b33d488e306","name":"Request","timestamp":1646055556011406,"trace_id":"6bf63d894d741b916f05de7c3ea8b8c4","type":"external","action":"request","outcome":"success","parent_id":"95c4957b73669910","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6bf63d894d741b91"}} +{"span":{"duration":0.092084,"id":"8caf8ede0551d5ee","name":"Response","timestamp":1646055556079062,"trace_id":"6bf63d894d741b916f05de7c3ea8b8c4","type":"external","action":"response","outcome":"success","parent_id":"95c4957b73669910","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6bf63d894d741b91"}} +{"span":{"duration":69.39075,"id":"95c4957b73669910","name":"GET opbeans-node:3000","timestamp":1646055556009764,"trace_id":"6bf63d894d741b916f05de7c3ea8b8c4","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types","status_code":200}},"outcome":"success","parent_id":"6bf63d894d741b91","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6bf63d894d741b91"}} +{"transaction":{"duration":69.63995800000001,"id":"6bf63d894d741b91","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055556009675,"trace_id":"6bf63d894d741b916f05de7c3ea8b8c4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:16 GMT","Content-Length":"112"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.31395799999999996,"id":"c0c825828f76d2f6","name":"DNS opbeans-node","timestamp":1646055556098207,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"external","action":"dns","outcome":"success","parent_id":"e221899db5c79fd7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cc34f2d6cf0a80f5"}} +{"span":{"duration":0.187916,"id":"e4f1eef3c3ea9a6c","name":"Connect 172.23.0.10:3000","timestamp":1646055556098527,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"external","action":"connect","outcome":"success","parent_id":"e221899db5c79fd7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cc34f2d6cf0a80f5"}} +{"span":{"duration":432.336666,"id":"adf1682d0e1006e5","name":"Request","timestamp":1646055555813094,"trace_id":"a15b40b1706fcb7a98a8729ce681ff2d","type":"external","action":"request","outcome":"success","parent_id":"47d42311e2ff7f6a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"005f7caed8ffb697"}} +{"span":{"duration":0.303917,"id":"d480fad5db81bdf8","name":"Response","timestamp":1646055556245461,"trace_id":"a15b40b1706fcb7a98a8729ce681ff2d","type":"external","action":"response","outcome":"success","parent_id":"47d42311e2ff7f6a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"005f7caed8ffb697"}} +{"span":{"duration":432.69487499999997,"id":"47d42311e2ff7f6a","name":"GET opbeans-ruby:3000","timestamp":1646055555813071,"trace_id":"a15b40b1706fcb7a98a8729ce681ff2d","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"005f7caed8ffb697","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"005f7caed8ffb697"}} +{"transaction":{"duration":432.92575,"id":"005f7caed8ffb697","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055555813008,"trace_id":"a15b40b1706fcb7a98a8729ce681ff2d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-a15b40b1706fcb7a98a8729ce681ff2d-046214faa704d49b-01","Elastic-Apm-Traceparent":"00-a15b40b1706fcb7a98a8729ce681ff2d-046214faa704d49b-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"046214faa704d49b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.273333,"id":"4fd9b64d8e818e99","name":"DNS opbeans-node","timestamp":1646055556259138,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"external","action":"dns","outcome":"success","parent_id":"153ae9dae7e5209c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8015421fff57c581"}} +{"span":{"duration":0.09025,"id":"29361e75bc7afc0c","name":"Connect 172.23.0.10:3000","timestamp":1646055556259416,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"external","action":"connect","outcome":"success","parent_id":"153ae9dae7e5209c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8015421fff57c581"}} +{"span":{"duration":72.54483400000001,"id":"c4144ec4e0240735","name":"Request","timestamp":1646055556259523,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"external","action":"request","outcome":"success","parent_id":"153ae9dae7e5209c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8015421fff57c581"}} +{"span":{"duration":0.117041,"id":"ac8f895fe4f7faed","name":"Response","timestamp":1646055556332099,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"external","action":"response","outcome":"success","parent_id":"153ae9dae7e5209c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8015421fff57c581"}} +{"span":{"duration":73.105084,"id":"153ae9dae7e5209c","name":"GET opbeans-node:3000","timestamp":1646055556259112,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/3/customers?limit=50","status_code":200}},"outcome":"success","parent_id":"8015421fff57c581","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8015421fff57c581"}} +{"transaction":{"duration":73.605541,"id":"8015421fff57c581","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055556259052,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","search":"limit=50","full":"http://opbeans-go:3000/api/products/3/customers?limit=50"},"headers":{"X-Forwarded-For":"172.23.0.10","Accept-Encoding":"gzip","Elastic-Apm-Traceparent":"00-cc34f2d6cf0a80f563bfd65300db6058-57419be0b256f452-01","Traceparent":"00-cc34f2d6cf0a80f563bfd65300db6058-57419be0b256f452-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Length":"2247","Etag":"W/\"8c7-DzU3uvPT9Eu5vDsXxF0AVpUtaII\"","Date":"Mon, 28 Feb 2022 13:39:16 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"57419be0b256f452","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":73.788083,"id":"4c27a73fb0f4adda","name":"Request","timestamp":1646055556258933,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"external","action":"request","outcome":"success","parent_id":"57419be0b256f452","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0982ca683d5bfdb4"}} +{"span":{"duration":0.0465,"id":"3441c0f4a22903ef","name":"Response","timestamp":1646055556332729,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"external","action":"response","outcome":"success","parent_id":"57419be0b256f452","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0982ca683d5bfdb4"}} +{"span":{"duration":73.865375,"id":"57419be0b256f452","name":"GET opbeans-go:3000","timestamp":1646055556258911,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/3/customers?limit=50","status_code":200}},"outcome":"success","parent_id":"0982ca683d5bfdb4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0982ca683d5bfdb4"}} +{"transaction":{"duration":74.105167,"id":"0982ca683d5bfdb4","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055556258803,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","search":"limit=50","full":"http://opbeans-go:3000/api/products/3/customers?limit=50"},"headers":{"Connection":"close","Traceparent":"00-cc34f2d6cf0a80f563bfd65300db6058-184bd2345a8e2820-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-cc34f2d6cf0a80f563bfd65300db6058-184bd2345a8e2820-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Length":"2247","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:16 GMT","Etag":"W/\"8c7-DzU3uvPT9Eu5vDsXxF0AVpUtaII\"","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"184bd2345a8e2820","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":260.52625,"id":"4c5dd6854e5ecea9","name":"Request","timestamp":1646055556098731,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"external","action":"request","outcome":"success","parent_id":"e221899db5c79fd7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cc34f2d6cf0a80f5"}} +{"span":{"duration":0.12795800000000002,"id":"f5490a1b82e7a57d","name":"Response","timestamp":1646055556359310,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"external","action":"response","outcome":"success","parent_id":"e221899db5c79fd7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cc34f2d6cf0a80f5"}} +{"span":{"duration":261.303875,"id":"e221899db5c79fd7","name":"GET opbeans-node:3000","timestamp":1646055556098135,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/3/customers?limit=50","status_code":200}},"outcome":"success","parent_id":"cc34f2d6cf0a80f5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cc34f2d6cf0a80f5"}} +{"transaction":{"duration":261.739958,"id":"cc34f2d6cf0a80f5","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055556097981,"trace_id":"cc34f2d6cf0a80f563bfd65300db6058","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","search":"limit=50","full":"http://opbeans-go:3000/api/products/3/customers?limit=50"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:16 GMT","Etag":"W/\"8c7-DzU3uvPT9Eu5vDsXxF0AVpUtaII\"","X-Powered-By":"Express","Content-Length":"2247","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":80.494542,"id":"ae61998e1b9f7023","name":"Request","timestamp":1646055556383302,"trace_id":"c7a2daa01da3d4e315e3a98e8ad104f3","type":"external","action":"request","outcome":"success","parent_id":"f6a0cd98892e589a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c7a2daa01da3d4e3"}} +{"span":{"duration":6.1301250000000005,"id":"1a2c3b4ad985a9a2","name":"Response","timestamp":1646055556463830,"trace_id":"c7a2daa01da3d4e315e3a98e8ad104f3","type":"external","action":"response","outcome":"success","parent_id":"f6a0cd98892e589a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c7a2daa01da3d4e3"}} +{"span":{"duration":86.863876,"id":"f6a0cd98892e589a","name":"GET opbeans-node:3000","timestamp":1646055556383165,"trace_id":"c7a2daa01da3d4e315e3a98e8ad104f3","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders/580","status_code":404}},"outcome":"failure","parent_id":"c7a2daa01da3d4e3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c7a2daa01da3d4e3"}} +{"transaction":{"duration":88.0775,"id":"c7a2daa01da3d4e3","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055556382793,"trace_id":"c7a2daa01da3d4e315e3a98e8ad104f3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/580","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/580"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Runtime":"0.023838","Content-Length":"1722","Date":"Mon, 28 Feb 2022 13:39:16 GMT","X-Powered-By":"Express","Content-Type":"text/html; charset=UTF-8","X-Request-Id":"10c2eae1-fa99-46fd-8c6b-922d25301971"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":32.083542,"id":"372d8f50236c9d18","name":"Request","timestamp":1646055556496121,"trace_id":"a2ae179d02530a9b4e96ff4ad3a6b909","type":"external","action":"request","outcome":"success","parent_id":"53354cbd5790e3fa","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a2ae179d02530a9b"}} +{"span":{"duration":0.143375,"id":"244e57359972ce96","name":"Response","timestamp":1646055556528242,"trace_id":"a2ae179d02530a9b4e96ff4ad3a6b909","type":"external","action":"response","outcome":"success","parent_id":"53354cbd5790e3fa","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a2ae179d02530a9b"}} +{"span":{"duration":32.285792,"id":"53354cbd5790e3fa","name":"GET opbeans-ruby:3000","timestamp":1646055556496100,"trace_id":"a2ae179d02530a9b4e96ff4ad3a6b909","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"a2ae179d02530a9b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a2ae179d02530a9b"}} +{"transaction":{"duration":32.635541999999994,"id":"a2ae179d02530a9b","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055556495977,"trace_id":"a2ae179d02530a9b4e96ff4ad3a6b909","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Vary":"Accept","Cache-Control":"max-age=0, private, must-revalidate","Etag":"W/\"32a6f2ac22b5ec871f35104a05ba3759\"","X-Request-Id":"64d3b18f-4a28-4a90-939d-015fd5372611","X-Runtime":"0.020804","X-Xss-Protection":"1; mode=block","X-Download-Options":"noopen","X-Content-Type-Options":"nosniff","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin","X-Frame-Options":"SAMEORIGIN"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.42208300000000004,"id":"46ae14a8f1a50377","name":"SELECT FROM product_types","timestamp":1646055556550599,"trace_id":"ae8ed509fff1435eefabb817714d2ffe","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ae8ed509fff1435e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ae8ed509fff1435e"}} +{"transaction":{"duration":0.669083,"id":"ae8ed509fff1435e","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055556550524,"trace_id":"ae8ed509fff1435eefabb817714d2ffe","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":70.898875,"id":"60b6c8037cb52cad","name":"Request","timestamp":1646055556572495,"trace_id":"8ad381032431f696504a0f222d5047d8","type":"external","action":"request","outcome":"success","parent_id":"615aba361e087398","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8ad381032431f696"}} +{"span":{"duration":0.17758300000000002,"id":"8c94636b650a934a","name":"Response","timestamp":1646055556643416,"trace_id":"8ad381032431f696504a0f222d5047d8","type":"external","action":"response","outcome":"success","parent_id":"615aba361e087398","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8ad381032431f696"}} +{"span":{"duration":71.127792,"id":"615aba361e087398","name":"GET opbeans-ruby:3000","timestamp":1646055556572466,"trace_id":"8ad381032431f696504a0f222d5047d8","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"8ad381032431f696","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8ad381032431f696"}} +{"transaction":{"duration":71.41987499999999,"id":"8ad381032431f696","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055556572317,"trace_id":"8ad381032431f696504a0f222d5047d8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin","X-Request-Id":"d088861f-f8f2-4d9c-8693-455c8fb20d93","X-Frame-Options":"SAMEORIGIN","X-Xss-Protection":"1; mode=block","X-Download-Options":"noopen","Etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","Content-Type":"application/json; charset=utf-8","Cache-Control":"max-age=0, private, must-revalidate","X-Runtime":"0.059311","X-Content-Type-Options":"nosniff","Vary":"Accept"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.294208,"id":"8696393558c6b352","name":"DNS opbeans-python","timestamp":1646055556663101,"trace_id":"a84030719f44ba4db8df35f5f64e434e","type":"external","action":"dns","outcome":"success","parent_id":"b136da9d57378cb8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a84030719f44ba4d"}} +{"span":{"duration":0.11620799999999999,"id":"d49588ecd5511550","name":"Connect 172.23.0.11:3000","timestamp":1646055556663400,"trace_id":"a84030719f44ba4db8df35f5f64e434e","type":"external","action":"connect","outcome":"success","parent_id":"b136da9d57378cb8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a84030719f44ba4d"}} +{"span":{"duration":14.537916999999998,"id":"0ea333fd0f7524b7","name":"Request","timestamp":1646055556663527,"trace_id":"a84030719f44ba4db8df35f5f64e434e","type":"external","action":"request","outcome":"success","parent_id":"b136da9d57378cb8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a84030719f44ba4d"}} +{"span":{"duration":1.0911250000000001,"id":"e4ff9c47abad5693","name":"Response","timestamp":1646055556678123,"trace_id":"a84030719f44ba4db8df35f5f64e434e","type":"external","action":"response","outcome":"success","parent_id":"b136da9d57378cb8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a84030719f44ba4d"}} +{"span":{"duration":16.163,"id":"b136da9d57378cb8","name":"GET opbeans-python:3000","timestamp":1646055556663056,"trace_id":"a84030719f44ba4db8df35f5f64e434e","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers/659","status_code":200}},"outcome":"success","parent_id":"a84030719f44ba4d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a84030719f44ba4d"}} +{"transaction":{"duration":16.556125,"id":"a84030719f44ba4d","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055556662962,"trace_id":"a84030719f44ba4db8df35f5f64e434e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/659","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/659"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","X-Frame-Options":"DENY","Date":"Mon, 28 Feb 2022 13:39:16 GMT","Content-Type":"application/json","X-Content-Type-Options":"nosniff","Content-Length":"193","Vary":"Cookie","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.9030839999999998,"id":"3d8c464b0bb1e715","name":"SELECT FROM products","timestamp":1646055556700044,"trace_id":"82984d5ed9cef63804e58385a8876b2d","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9c363676d19b70b4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9c363676d19b70b4"}} +{"transaction":{"duration":3.046792,"id":"9c363676d19b70b4","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055556700020,"trace_id":"82984d5ed9cef63804e58385a8876b2d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-82984d5ed9cef63804e58385a8876b2d-0078ad20daffc5d6-01","Traceparent":"00-82984d5ed9cef63804e58385a8876b2d-0078ad20daffc5d6-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"0078ad20daffc5d6","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.2345,"id":"90fb0a0dbdb83913","name":"Request","timestamp":1646055556699880,"trace_id":"82984d5ed9cef63804e58385a8876b2d","type":"external","action":"request","outcome":"success","parent_id":"0078ad20daffc5d6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"82984d5ed9cef638"}} +{"span":{"duration":0.057290999999999995,"id":"c13e80c2c01e24c2","name":"Response","timestamp":1646055556703116,"trace_id":"82984d5ed9cef63804e58385a8876b2d","type":"external","action":"response","outcome":"success","parent_id":"0078ad20daffc5d6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"82984d5ed9cef638"}} +{"span":{"duration":3.332542,"id":"0078ad20daffc5d6","name":"GET opbeans-go:3000","timestamp":1646055556699860,"trace_id":"82984d5ed9cef63804e58385a8876b2d","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/3","status_code":200}},"outcome":"success","parent_id":"82984d5ed9cef638","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"82984d5ed9cef638"}} +{"transaction":{"duration":3.484833,"id":"82984d5ed9cef638","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055556699757,"trace_id":"82984d5ed9cef63804e58385a8876b2d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:16 GMT","Content-Length":"231"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.297541,"id":"94f13cf1d1b786b1","name":"SELECT FROM product_types","timestamp":1646055556723024,"trace_id":"6d4c9fdd3f7367099373e36175ac0236","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"98c45b8fdd471b36","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"98c45b8fdd471b36"}} +{"transaction":{"duration":0.42700000000000005,"id":"98c45b8fdd471b36","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055556723013,"trace_id":"6d4c9fdd3f7367099373e36175ac0236","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-6d4c9fdd3f7367099373e36175ac0236-c13f561d5164bf0a-01","Traceparent":"00-6d4c9fdd3f7367099373e36175ac0236-c13f561d5164bf0a-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c13f561d5164bf0a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.566041,"id":"7cba2a002d00a3a6","name":"Request","timestamp":1646055556722951,"trace_id":"6d4c9fdd3f7367099373e36175ac0236","type":"external","action":"request","outcome":"success","parent_id":"c13f561d5164bf0a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6d4c9fdd3f736709"}} +{"span":{"duration":0.167166,"id":"4e109bd00820d32e","name":"Response","timestamp":1646055556723518,"trace_id":"6d4c9fdd3f7367099373e36175ac0236","type":"external","action":"response","outcome":"success","parent_id":"c13f561d5164bf0a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6d4c9fdd3f736709"}} +{"span":{"duration":0.809584,"id":"c13f561d5164bf0a","name":"GET opbeans-go:3000","timestamp":1646055556722877,"trace_id":"6d4c9fdd3f7367099373e36175ac0236","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"6d4c9fdd3f736709","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6d4c9fdd3f736709"}} +{"transaction":{"duration":1.0037909999999999,"id":"6d4c9fdd3f736709","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055556722816,"trace_id":"6d4c9fdd3f7367099373e36175ac0236","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:16 GMT","Content-Length":"35"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.9989169999999999,"id":"4a5d3cfd1fede1eb","name":"SELECT FROM customers","timestamp":1646055556742359,"trace_id":"8a591752aef7714d4b73bc9ecc6d2fe1","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8a591752aef7714d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8a591752aef7714d"}} +{"transaction":{"duration":5.0555,"id":"8a591752aef7714d","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055556742326,"trace_id":"8a591752aef7714d4b73bc9ecc6d2fe1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.29058300000000004,"id":"ecab504c996193bf","name":"DNS opbeans-node","timestamp":1646055556769037,"trace_id":"acc099954d983118ff26925edbf20e28","type":"external","action":"dns","outcome":"success","parent_id":"b6fe38672e3e1976","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f2bfd92a5b9201c5"}} +{"span":{"duration":0.099917,"id":"066de45a406896cf","name":"Connect 172.23.0.10:3000","timestamp":1646055556769332,"trace_id":"acc099954d983118ff26925edbf20e28","type":"external","action":"connect","outcome":"success","parent_id":"b6fe38672e3e1976","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f2bfd92a5b9201c5"}} +{"span":{"duration":0.353292,"id":"e9577fb3c031772a","name":"SELECT FROM customers","timestamp":1646055556785999,"trace_id":"8b76d388f85e2fde07ab309b64dc0da4","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"258db4e2cd42b071","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"258db4e2cd42b071"}} +{"transaction":{"duration":0.646625,"id":"258db4e2cd42b071","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055556785969,"trace_id":"8b76d388f85e2fde07ab309b64dc0da4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/220","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/220"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-8b76d388f85e2fde07ab309b64dc0da4-12cf6253502f0087-01","Elastic-Apm-Traceparent":"00-8b76d388f85e2fde07ab309b64dc0da4-12cf6253502f0087-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"12cf6253502f0087","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.5927079999999999,"id":"2371d0d2c788b0f3","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055556872066,"trace_id":"252878bf497632da2e739285b1010e55","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Connection":"keep-alive","Traceparent":"00-252878bf497632da2e739285b1010e55-51f41c164b5ef066-01","Elastic-Apm-Traceparent":"00-252878bf497632da2e739285b1010e55-51f41c164b5ef066-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"51f41c164b5ef066","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":120.791,"id":"fc2bfe9ed3e17ed5","name":"Request","timestamp":1646055556769442,"trace_id":"acc099954d983118ff26925edbf20e28","type":"external","action":"request","outcome":"success","parent_id":"b6fe38672e3e1976","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f2bfd92a5b9201c5"}} +{"span":{"duration":0.140792,"id":"687a6c0ace3a3f9b","name":"Response","timestamp":1646055556890263,"trace_id":"acc099954d983118ff26925edbf20e28","type":"external","action":"response","outcome":"success","parent_id":"b6fe38672e3e1976","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f2bfd92a5b9201c5"}} +{"span":{"duration":121.67241700000001,"id":"8cb273aa0787a126","name":"Request","timestamp":1646055556768731,"trace_id":"acc099954d983118ff26925edbf20e28","type":"external","action":"request","outcome":"success","parent_id":"a4f730337fa5b175","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"acc099954d983118"}} +{"span":{"duration":121.415625,"id":"b6fe38672e3e1976","name":"GET opbeans-node:3000","timestamp":1646055556768990,"trace_id":"acc099954d983118ff26925edbf20e28","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types","status_code":200}},"outcome":"success","parent_id":"f2bfd92a5b9201c5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f2bfd92a5b9201c5"}} +{"transaction":{"duration":121.78966700000001,"id":"f2bfd92a5b9201c5","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055556768867,"trace_id":"acc099954d983118ff26925edbf20e28","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-acc099954d983118ff26925edbf20e28-a4f730337fa5b175-01","Traceparent":"00-acc099954d983118ff26925edbf20e28-a4f730337fa5b175-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:16 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a4f730337fa5b175","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.30225,"id":"c5c7c5dde9e0fc12","name":"Response","timestamp":1646055556890410,"trace_id":"acc099954d983118ff26925edbf20e28","type":"external","action":"response","outcome":"success","parent_id":"a4f730337fa5b175","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"acc099954d983118"}} +{"span":{"duration":122.01175,"id":"a4f730337fa5b175","name":"GET opbeans-go:3000","timestamp":1646055556768701,"trace_id":"acc099954d983118ff26925edbf20e28","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types","status_code":200}},"outcome":"success","parent_id":"acc099954d983118","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"acc099954d983118"}} +{"transaction":{"duration":122.738292,"id":"acc099954d983118","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055556768126,"trace_id":"acc099954d983118ff26925edbf20e28","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:16 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.399416,"id":"a45d8e9fe29bd8c6","name":"SELECT FROM orders","timestamp":1646055556909901,"trace_id":"a5556834476c76b4863bbff18580c3d1","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a5556834476c76b4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a5556834476c76b4"}} +{"span":{"duration":0.521416,"id":"42409ab86fe15bc1","name":"SELECT FROM products","timestamp":1646055556910347,"trace_id":"a5556834476c76b4863bbff18580c3d1","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a5556834476c76b4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a5556834476c76b4"}} +{"transaction":{"duration":1.1402910000000002,"id":"a5556834476c76b4","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055556909873,"trace_id":"a5556834476c76b4863bbff18580c3d1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/573","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/573"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.488583,"id":"7fd9e829ce9588c8","name":"SELECT FROM products","timestamp":1646055556929358,"trace_id":"0551e204d46ab19fc15c724b968b0f77","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"569bb2dc7e95edab","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"569bb2dc7e95edab"}} +{"transaction":{"duration":1.652084,"id":"569bb2dc7e95edab","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055556929348,"trace_id":"0551e204d46ab19fc15c724b968b0f77","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-0551e204d46ab19fc15c724b968b0f77-6fc1b6681d2ae798-01","Traceparent":"00-0551e204d46ab19fc15c724b968b0f77-6fc1b6681d2ae798-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6fc1b6681d2ae798","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.7711249999999998,"id":"01bec0a50a3e9d34","name":"Request","timestamp":1646055556929281,"trace_id":"0551e204d46ab19fc15c724b968b0f77","type":"external","action":"request","outcome":"success","parent_id":"6fc1b6681d2ae798","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0551e204d46ab19f"}} +{"span":{"duration":0.032583,"id":"9ccfa6ccf41c33cb","name":"Response","timestamp":1646055556931053,"trace_id":"0551e204d46ab19fc15c724b968b0f77","type":"external","action":"response","outcome":"success","parent_id":"6fc1b6681d2ae798","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0551e204d46ab19f"}} +{"span":{"duration":1.825291,"id":"6fc1b6681d2ae798","name":"GET opbeans-go:3000","timestamp":1646055556929261,"trace_id":"0551e204d46ab19fc15c724b968b0f77","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"0551e204d46ab19f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0551e204d46ab19f"}} +{"transaction":{"duration":2.00675,"id":"0551e204d46ab19f","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055556929165,"trace_id":"0551e204d46ab19fc15c724b968b0f77","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"401","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:16 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.379417,"id":"314b3e486845d168","name":"SELECT FROM product_types","timestamp":1646055556950460,"trace_id":"bf162b5e4094df890c7dd12012296fe7","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"bf162b5e4094df89","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"bf162b5e4094df89"}} +{"transaction":{"duration":0.61075,"id":"bf162b5e4094df89","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055556950445,"trace_id":"bf162b5e4094df890c7dd12012296fe7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.37975,"id":"000c3f2209d46115","name":"SELECT FROM customers","timestamp":1646055556968754,"trace_id":"840692a928ae6e87769b598f6bf4d67f","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"840692a928ae6e87","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"840692a928ae6e87"}} +{"transaction":{"duration":4.066542,"id":"840692a928ae6e87","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055556968737,"trace_id":"840692a928ae6e87769b598f6bf4d67f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.253042,"id":"4da8b2edf8b21c41","name":"DNS opbeans-ruby","timestamp":1646055556993262,"trace_id":"cfcc20ff96684042e10057959419cae2","type":"external","action":"dns","outcome":"success","parent_id":"580912b16b6a0a62","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cfcc20ff96684042"}} +{"span":{"duration":0.13725,"id":"029835d556acad52","name":"Connect 172.23.0.12:3000","timestamp":1646055556993519,"trace_id":"cfcc20ff96684042e10057959419cae2","type":"external","action":"connect","outcome":"success","parent_id":"580912b16b6a0a62","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cfcc20ff96684042"}} +{"span":{"duration":78.606875,"id":"b2265d0ec2e4e153","name":"Request","timestamp":1646055556942796,"trace_id":"2b69ec2ae455ff7c0ac256ab5783fbb6","type":"external","action":"request","outcome":"success","parent_id":"7e1f98eb28c97ed3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b821363f93842793"}} +{"span":{"duration":0.25041599999999997,"id":"f4a877068cfe58b6","name":"Response","timestamp":1646055557021432,"trace_id":"2b69ec2ae455ff7c0ac256ab5783fbb6","type":"external","action":"response","outcome":"success","parent_id":"7e1f98eb28c97ed3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b821363f93842793"}} +{"span":{"duration":78.909166,"id":"7e1f98eb28c97ed3","name":"GET opbeans-ruby:3000","timestamp":1646055556942774,"trace_id":"2b69ec2ae455ff7c0ac256ab5783fbb6","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"b821363f93842793","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b821363f93842793"}} +{"transaction":{"duration":79.489292,"id":"b821363f93842793","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055556942659,"trace_id":"2b69ec2ae455ff7c0ac256ab5783fbb6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Connection":"keep-alive","Traceparent":"00-2b69ec2ae455ff7c0ac256ab5783fbb6-1eb8de3c593e0bc0-01","Elastic-Apm-Traceparent":"00-2b69ec2ae455ff7c0ac256ab5783fbb6-1eb8de3c593e0bc0-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"1eb8de3c593e0bc0","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.613875,"id":"c2759c4b4d9d4eea","name":"DNS opbeans-node","timestamp":1646055557026191,"trace_id":"cfcc20ff96684042e10057959419cae2","type":"external","action":"dns","outcome":"success","parent_id":"f44d00910c34aab0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bf8e7f27febaa42f"}} +{"span":{"duration":0.188417,"id":"8dd0c0b77283a646","name":"Connect 172.23.0.10:3000","timestamp":1646055557026811,"trace_id":"cfcc20ff96684042e10057959419cae2","type":"external","action":"connect","outcome":"success","parent_id":"f44d00910c34aab0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bf8e7f27febaa42f"}} +{"span":{"duration":66.998875,"id":"94416646242013ac","name":"Request","timestamp":1646055557027020,"trace_id":"cfcc20ff96684042e10057959419cae2","type":"external","action":"request","outcome":"success","parent_id":"f44d00910c34aab0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bf8e7f27febaa42f"}} +{"span":{"duration":0.143375,"id":"23738ac5c31ec5ba","name":"Response","timestamp":1646055557094174,"trace_id":"cfcc20ff96684042e10057959419cae2","type":"external","action":"response","outcome":"success","parent_id":"f44d00910c34aab0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bf8e7f27febaa42f"}} +{"span":{"duration":68.62520799999999,"id":"f44d00910c34aab0","name":"GET opbeans-node:3000","timestamp":1646055557025693,"trace_id":"cfcc20ff96684042e10057959419cae2","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/852","status_code":200}},"outcome":"success","parent_id":"bf8e7f27febaa42f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bf8e7f27febaa42f"}} +{"transaction":{"duration":69.130083,"id":"bf8e7f27febaa42f","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055557025451,"trace_id":"cfcc20ff96684042e10057959419cae2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/852","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/852"},"headers":{"Elastic-Apm-Traceparent":"00-cfcc20ff96684042e10057959419cae2-62bc436e06e52089-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-cfcc20ff96684042e10057959419cae2-62bc436e06e52089-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Length":"178","Etag":"W/\"b2-qwsBZBlhs8NBa9d4Y9wz7Brywkc\"","Date":"Mon, 28 Feb 2022 13:39:17 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"62bc436e06e52089","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":129.18141699999998,"id":"404e45aae3be3d06","name":"Request","timestamp":1646055556993668,"trace_id":"cfcc20ff96684042e10057959419cae2","type":"external","action":"request","outcome":"success","parent_id":"580912b16b6a0a62","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cfcc20ff96684042"}} +{"span":{"duration":0.13924999999999998,"id":"b127441de002132f","name":"Response","timestamp":1646055557123205,"trace_id":"cfcc20ff96684042e10057959419cae2","type":"external","action":"response","outcome":"success","parent_id":"580912b16b6a0a62","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cfcc20ff96684042"}} +{"span":{"duration":130.15141699999998,"id":"580912b16b6a0a62","name":"GET opbeans-ruby:3000","timestamp":1646055556993194,"trace_id":"cfcc20ff96684042e10057959419cae2","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/852","status_code":200}},"outcome":"success","parent_id":"cfcc20ff96684042","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cfcc20ff96684042"}} +{"transaction":{"duration":130.630292,"id":"cfcc20ff96684042","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055556993066,"trace_id":"cfcc20ff96684042e10057959419cae2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/852","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/852"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.84325,"id":"c921dc9934f2617e","name":"SELECT FROM orders","timestamp":1646055557144291,"trace_id":"a45c96bd214d577a9250a676d12e2995","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a45c96bd214d577a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a45c96bd214d577a"}} +{"transaction":{"duration":2.94325,"id":"a45c96bd214d577a","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055557144258,"trace_id":"a45c96bd214d577a9250a676d12e2995","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":30.173458,"id":"f71665c42cd81b1f","name":"Request","timestamp":1646055557166727,"trace_id":"ddf119935de8777d3e1edd0efe07c077","type":"external","action":"request","outcome":"success","parent_id":"38f7c09fa30b2158","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ddf119935de8777d"}} +{"span":{"duration":0.145458,"id":"0e09a7078a1fe491","name":"Response","timestamp":1646055557196924,"trace_id":"ddf119935de8777d3e1edd0efe07c077","type":"external","action":"response","outcome":"success","parent_id":"38f7c09fa30b2158","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ddf119935de8777d"}} +{"span":{"duration":30.360833,"id":"38f7c09fa30b2158","name":"GET opbeans-ruby:3000","timestamp":1646055557166709,"trace_id":"ddf119935de8777d3e1edd0efe07c077","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"ddf119935de8777d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ddf119935de8777d"}} +{"transaction":{"duration":30.5685,"id":"ddf119935de8777d","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055557166608,"trace_id":"ddf119935de8777d3e1edd0efe07c077","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Accept","X-Runtime":"0.019071","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","Etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","X-Frame-Options":"SAMEORIGIN","Referrer-Policy":"strict-origin-when-cross-origin","X-Content-Type-Options":"nosniff","Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"8032f35b-226e-4291-b9b5-35b2540ea0cd","X-Xss-Protection":"1; mode=block","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.9845840000000001,"id":"61b184630a4300de","name":"SELECT FROM products","timestamp":1646055557227019,"trace_id":"c123210eb04d531a09509bf4883484a1","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c123210eb04d531a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c123210eb04d531a"}} +{"transaction":{"duration":2.1325,"id":"c123210eb04d531a","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055557227003,"trace_id":"c123210eb04d531a09509bf4883484a1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.968083,"id":"e909e5a8eaa3d736","name":"SELECT FROM customers","timestamp":1646055557244261,"trace_id":"9413c55348714bfca645d2a48500e0b5","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6132ac5dadea196c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6132ac5dadea196c"}} +{"transaction":{"duration":2.274917,"id":"6132ac5dadea196c","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055557244241,"trace_id":"9413c55348714bfca645d2a48500e0b5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","search":"limit=110","full":"http://opbeans-go:3000/api/products/3/customers?limit=110"},"headers":{"Traceparent":"00-9413c55348714bfca645d2a48500e0b5-d1bf9d7acc36cb13-01","Elastic-Apm-Traceparent":"00-9413c55348714bfca645d2a48500e0b5-d1bf9d7acc36cb13-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d1bf9d7acc36cb13","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.290208,"id":"919a9ca423b728c2","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055557246983,"trace_id":"919a9ca423b728c24c97a06c1d5d0664","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.81375,"id":"a2f796f6e4fde207","name":"SELECT FROM customers","timestamp":1646055557266601,"trace_id":"d65266c6557e3f3549b4b1005bf72ba2","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2d03c625d2234eef","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2d03c625d2234eef"}} +{"span":{"duration":3.177333,"id":"ae8f4c413b7e6395","name":"Request","timestamp":1646055557266484,"trace_id":"d65266c6557e3f3549b4b1005bf72ba2","type":"external","action":"request","outcome":"success","parent_id":"ead44aa1e3868cfc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d65266c6557e3f35"}} +{"transaction":{"duration":3.321917,"id":"2d03c625d2234eef","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055557266587,"trace_id":"d65266c6557e3f3549b4b1005bf72ba2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"Traceparent":"00-d65266c6557e3f3549b4b1005bf72ba2-ead44aa1e3868cfc-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-d65266c6557e3f3549b4b1005bf72ba2-ead44aa1e3868cfc-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ead44aa1e3868cfc","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.418875,"id":"6638a3fbd81e482e","name":"Response","timestamp":1646055557269673,"trace_id":"d65266c6557e3f3549b4b1005bf72ba2","type":"external","action":"response","outcome":"success","parent_id":"ead44aa1e3868cfc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d65266c6557e3f35"}} +{"span":{"duration":3.6345,"id":"ead44aa1e3868cfc","name":"GET opbeans-go:3000","timestamp":1646055557266458,"trace_id":"d65266c6557e3f3549b4b1005bf72ba2","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/2/customers","status_code":200}},"outcome":"success","parent_id":"d65266c6557e3f35","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d65266c6557e3f35"}} +{"transaction":{"duration":3.844125,"id":"d65266c6557e3f35","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055557266285,"trace_id":"d65266c6557e3f3549b4b1005bf72ba2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:17 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":36.931375,"id":"f3abdb01d4e01944","name":"Request","timestamp":1646055557239476,"trace_id":"e9001176d31a1c9383988f4db51bd1c6","type":"external","action":"request","outcome":"success","parent_id":"9ff7772639cbaaeb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"faded10d3f98334d"}} +{"span":{"duration":0.222709,"id":"bc8939919fe392e9","name":"Response","timestamp":1646055557276433,"trace_id":"e9001176d31a1c9383988f4db51bd1c6","type":"external","action":"response","outcome":"success","parent_id":"9ff7772639cbaaeb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"faded10d3f98334d"}} +{"span":{"duration":37.240500000000004,"id":"9ff7772639cbaaeb","name":"GET opbeans-ruby:3000","timestamp":1646055557239416,"trace_id":"e9001176d31a1c9383988f4db51bd1c6","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/104","status_code":404}},"outcome":"failure","parent_id":"faded10d3f98334d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"faded10d3f98334d"}} +{"transaction":{"duration":37.412417000000005,"id":"faded10d3f98334d","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055557239334,"trace_id":"e9001176d31a1c9383988f4db51bd1c6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/104","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/104"},"headers":{"Traceparent":"00-e9001176d31a1c9383988f4db51bd1c6-1ccf5e39b2d75104-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-e9001176d31a1c9383988f4db51bd1c6-1ccf5e39b2d75104-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Runtime":"0.030158","Content-Length":"1722","Content-Type":"text/html; charset=UTF-8","X-Request-Id":"5bc31b44-6390-4a51-a598-bf3f05bc8220"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"1ccf5e39b2d75104","result":"HTTP 4xx","sample_rate":1}} +{"transaction":{"duration":0.43391700000000005,"id":"a6f95378e0a448aa","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055557290343,"trace_id":"a6f95378e0a448aae06e181ec80894a1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.435084,"id":"611c5b20b736bf72","name":"SELECT FROM orders","timestamp":1646055557308654,"trace_id":"59a75d3d256fda9d90fdc575a1613104","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"59a75d3d256fda9d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"59a75d3d256fda9d"}} +{"transaction":{"duration":4.8248750000000005,"id":"59a75d3d256fda9d","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055557308638,"trace_id":"59a75d3d256fda9d90fdc575a1613104","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.221791,"id":"fbc8375e27925235","name":"SELECT FROM product_types","timestamp":1646055557333885,"trace_id":"0b8d50759016769f6eb3eb96f0339a16","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e5c247af615de7fd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e5c247af615de7fd"}} +{"transaction":{"duration":0.449,"id":"e5c247af615de7fd","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055557333871,"trace_id":"0b8d50759016769f6eb3eb96f0339a16","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Connection":"keep-alive","Traceparent":"00-0b8d50759016769f6eb3eb96f0339a16-19fe607f82df391b-01","Elastic-Apm-Traceparent":"00-0b8d50759016769f6eb3eb96f0339a16-19fe607f82df391b-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"19fe607f82df391b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.31195799999999996,"id":"2d2bca4a9ab43e4e","name":"SELECT FROM orders","timestamp":1646055557335211,"trace_id":"40f95f1817ef101985d0f859f1ddaebf","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"40f95f1817ef1019","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"40f95f1817ef1019"}} +{"span":{"duration":0.428708,"id":"90bf6c5b351c77e1","name":"SELECT FROM products","timestamp":1646055557335659,"trace_id":"40f95f1817ef101985d0f859f1ddaebf","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"40f95f1817ef1019","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"40f95f1817ef1019"}} +{"transaction":{"duration":0.9953749999999999,"id":"40f95f1817ef1019","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055557335199,"trace_id":"40f95f1817ef101985d0f859f1ddaebf","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/520","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/520"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.246209,"id":"5e66c5bb8759ec91","name":"SELECT FROM product_types","timestamp":1646055557355104,"trace_id":"e13df10ff2eb9d3188c5cd572937888a","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e13df10ff2eb9d31","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e13df10ff2eb9d31"}} +{"transaction":{"duration":0.37525,"id":"e13df10ff2eb9d31","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055557355083,"trace_id":"e13df10ff2eb9d3188c5cd572937888a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.243666,"id":"4591f615a3fa3b06","name":"SELECT FROM product_types","timestamp":1646055557372988,"trace_id":"2535236915c49fee737c01d8f9221319","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2535236915c49fee","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2535236915c49fee"}} +{"transaction":{"duration":0.46475,"id":"2535236915c49fee","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055557372972,"trace_id":"2535236915c49fee737c01d8f9221319","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.311791,"id":"826db9aa5de0af40","name":"SELECT FROM products","timestamp":1646055557391985,"trace_id":"27d997ae35cfae7e8ef60dba505b74b5","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"27d997ae35cfae7e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"27d997ae35cfae7e"}} +{"transaction":{"duration":0.42658300000000005,"id":"27d997ae35cfae7e","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055557391961,"trace_id":"27d997ae35cfae7e8ef60dba505b74b5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":23.813750000000002,"id":"07e4373b7c7f696d","name":"Request","timestamp":1646055557410692,"trace_id":"797667198bdb55fd14470d407ed4dfb4","type":"external","action":"request","outcome":"success","parent_id":"20aadc671117c099","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"797667198bdb55fd"}} +{"span":{"duration":0.081833,"id":"52ab1e2047f23f60","name":"Response","timestamp":1646055557434648,"trace_id":"797667198bdb55fd14470d407ed4dfb4","type":"external","action":"response","outcome":"success","parent_id":"20aadc671117c099","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"797667198bdb55fd"}} +{"span":{"duration":24.059916,"id":"20aadc671117c099","name":"GET opbeans-ruby:3000","timestamp":1646055557410672,"trace_id":"797667198bdb55fd14470d407ed4dfb4","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"797667198bdb55fd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"797667198bdb55fd"}} +{"transaction":{"duration":24.395916,"id":"797667198bdb55fd","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055557410490,"trace_id":"797667198bdb55fd14470d407ed4dfb4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Cache-Control":"max-age=0, private, must-revalidate","Vary":"Accept","X-Download-Options":"noopen","X-Xss-Protection":"1; mode=block","X-Permitted-Cross-Domain-Policies":"none","Etag":"W/\"37992d7e5d1df22332cd7c5be552ddce\"","X-Request-Id":"281f56ca-569d-4454-9b27-2f2a6bf99f18","X-Runtime":"0.016219","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","Referrer-Policy":"strict-origin-when-cross-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.28566699999999995,"id":"ae72f298777fd57b","name":"SELECT FROM product_types","timestamp":1646055557453919,"trace_id":"a609e31353fc23acc676a544f29c7e17","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a609e31353fc23ac","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a609e31353fc23ac"}} +{"transaction":{"duration":0.435375,"id":"a609e31353fc23ac","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055557453881,"trace_id":"a609e31353fc23acc676a544f29c7e17","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6728339999999999,"id":"2518c8725199ff02","name":"SELECT FROM customers","timestamp":1646055557472445,"trace_id":"e7295c8a0c72bcd9c0ee264df9306c7b","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e7295c8a0c72bcd9","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e7295c8a0c72bcd9"}} +{"transaction":{"duration":3.9490000000000003,"id":"e7295c8a0c72bcd9","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055557472427,"trace_id":"e7295c8a0c72bcd9c0ee264df9306c7b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":31.589958000000003,"id":"ed4cf7212129a92b","name":"Request","timestamp":1646055557494757,"trace_id":"c5048902525290cb942707ded257f60a","type":"external","action":"request","outcome":"success","parent_id":"d4771f772588a5c2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c5048902525290cb"}} +{"span":{"duration":0.120041,"id":"b827f9c8d4c6c283","name":"Response","timestamp":1646055557526371,"trace_id":"c5048902525290cb942707ded257f60a","type":"external","action":"response","outcome":"success","parent_id":"d4771f772588a5c2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c5048902525290cb"}} +{"span":{"duration":31.755,"id":"d4771f772588a5c2","name":"GET opbeans-node:3000","timestamp":1646055557494737,"trace_id":"c5048902525290cb942707ded257f60a","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types","status_code":200}},"outcome":"success","parent_id":"c5048902525290cb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c5048902525290cb"}} +{"transaction":{"duration":32.219791,"id":"c5048902525290cb","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055557494526,"trace_id":"c5048902525290cb942707ded257f60a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","Content-Type":"application/json","X-Powered-By":"Express","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:39:17 GMT","Content-Length":"123","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.348375,"id":"53d3460e6e774de6","name":"DNS opbeans-node","timestamp":1646055557545811,"trace_id":"f092315b64f13f1e9f9b27caa34e98ba","type":"external","action":"dns","outcome":"success","parent_id":"5bcf4b3fd929c856","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f092315b64f13f1e"}} +{"span":{"duration":0.099708,"id":"9d828c5e47fa0ae6","name":"Connect 172.23.0.10:3000","timestamp":1646055557546164,"trace_id":"f092315b64f13f1e9f9b27caa34e98ba","type":"external","action":"connect","outcome":"success","parent_id":"5bcf4b3fd929c856","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f092315b64f13f1e"}} +{"span":{"duration":26.179792,"id":"abdceb7297721cad","name":"Request","timestamp":1646055557546285,"trace_id":"f092315b64f13f1e9f9b27caa34e98ba","type":"external","action":"request","outcome":"success","parent_id":"5bcf4b3fd929c856","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f092315b64f13f1e"}} +{"span":{"duration":0.124917,"id":"4161552071a8d2f5","name":"Response","timestamp":1646055557572501,"trace_id":"f092315b64f13f1e9f9b27caa34e98ba","type":"external","action":"response","outcome":"success","parent_id":"5bcf4b3fd929c856","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f092315b64f13f1e"}} +{"span":{"duration":26.863542,"id":"5bcf4b3fd929c856","name":"GET opbeans-node:3000","timestamp":1646055557545764,"trace_id":"f092315b64f13f1e9f9b27caa34e98ba","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types","status_code":200}},"outcome":"success","parent_id":"f092315b64f13f1e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f092315b64f13f1e"}} +{"transaction":{"duration":27.015166999999998,"id":"f092315b64f13f1e","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055557545703,"trace_id":"f092315b64f13f1e9f9b27caa34e98ba","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"112","Etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","Date":"Mon, 28 Feb 2022 13:39:17 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.31425000000000003,"id":"c0bd4a58c1a7eb82","name":"SELECT FROM orders","timestamp":1646055557591883,"trace_id":"e9fce25a65f1c4fcfd454cf043b85598","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e9fce25a65f1c4fc","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e9fce25a65f1c4fc"}} +{"span":{"duration":0.4835,"id":"6ed8ef30e2f35004","name":"SELECT FROM products","timestamp":1646055557592228,"trace_id":"e9fce25a65f1c4fcfd454cf043b85598","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e9fce25a65f1c4fc","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e9fce25a65f1c4fc"}} +{"transaction":{"duration":1.0748330000000001,"id":"e9fce25a65f1c4fc","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055557591864,"trace_id":"e9fce25a65f1c4fcfd454cf043b85598","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/416","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/416"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":36.500458,"id":"5ff680aeeacd7864","name":"Request","timestamp":1646055557616439,"trace_id":"c1ec4a85952394e0db5b208b5538021e","type":"external","action":"request","outcome":"success","parent_id":"7ea3140918f81a57","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c1ec4a85952394e0"}} +{"span":{"duration":0.04975,"id":"9e11cad142f412d8","name":"Response","timestamp":1646055557652973,"trace_id":"c1ec4a85952394e0db5b208b5538021e","type":"external","action":"response","outcome":"success","parent_id":"7ea3140918f81a57","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c1ec4a85952394e0"}} +{"span":{"duration":36.605708,"id":"7ea3140918f81a57","name":"GET opbeans-node:3000","timestamp":1646055557616417,"trace_id":"c1ec4a85952394e0db5b208b5538021e","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"c1ec4a85952394e0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c1ec4a85952394e0"}} +{"transaction":{"duration":36.862375,"id":"c1ec4a85952394e0","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055557616251,"trace_id":"c1ec4a85952394e0db5b208b5538021e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"275","Etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","Date":"Mon, 28 Feb 2022 13:39:17 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.470458,"id":"489f92da7f97dd7d","name":"SELECT FROM products","timestamp":1646055557671352,"trace_id":"590a648e514f6c7866b4041ec9e51ae7","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"dca2b56ea7311091","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"dca2b56ea7311091"}} +{"transaction":{"duration":0.631084,"id":"dca2b56ea7311091","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055557671338,"trace_id":"590a648e514f6c7866b4041ec9e51ae7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-590a648e514f6c7866b4041ec9e51ae7-49ea573ed6fd49a7-01","Traceparent":"00-590a648e514f6c7866b4041ec9e51ae7-49ea573ed6fd49a7-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"49ea573ed6fd49a7","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.778959,"id":"7d984e8accced123","name":"Request","timestamp":1646055557671276,"trace_id":"590a648e514f6c7866b4041ec9e51ae7","type":"external","action":"request","outcome":"success","parent_id":"49ea573ed6fd49a7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"590a648e514f6c78"}} +{"span":{"duration":0.066458,"id":"8a5ab457c6c22e3e","name":"Response","timestamp":1646055557672056,"trace_id":"590a648e514f6c7866b4041ec9e51ae7","type":"external","action":"response","outcome":"success","parent_id":"49ea573ed6fd49a7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"590a648e514f6c78"}} +{"span":{"duration":0.865,"id":"49ea573ed6fd49a7","name":"GET opbeans-go:3000","timestamp":1646055557671258,"trace_id":"590a648e514f6c7866b4041ec9e51ae7","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products","status_code":200}},"outcome":"success","parent_id":"590a648e514f6c78","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"590a648e514f6c78"}} +{"transaction":{"duration":1.103166,"id":"590a648e514f6c78","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055557671081,"trace_id":"590a648e514f6c7866b4041ec9e51ae7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:17 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.32033300000000003,"id":"a22cfb574a689d92","name":"SELECT FROM customers","timestamp":1646055557692824,"trace_id":"05c48b907c99fa1b442bcb705c660c7d","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"05c48b907c99fa1b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"05c48b907c99fa1b"}} +{"transaction":{"duration":0.565209,"id":"05c48b907c99fa1b","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055557692803,"trace_id":"05c48b907c99fa1b442bcb705c660c7d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/577","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/577"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":53.794374999999995,"id":"d30ca52e9059d64e","name":"Request","timestamp":1646055557711595,"trace_id":"c7ac4e53b1c31537bb2628c268fbee52","type":"external","action":"request","outcome":"success","parent_id":"0cc1bdef18bc6e03","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c7ac4e53b1c31537"}} +{"span":{"duration":0.046166,"id":"fc4c9d7abfa0f3d1","name":"Response","timestamp":1646055557765413,"trace_id":"c7ac4e53b1c31537bb2628c268fbee52","type":"external","action":"response","outcome":"success","parent_id":"0cc1bdef18bc6e03","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c7ac4e53b1c31537"}} +{"span":{"duration":53.884125,"id":"0cc1bdef18bc6e03","name":"GET opbeans-ruby:3000","timestamp":1646055557711576,"trace_id":"c7ac4e53b1c31537bb2628c268fbee52","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/620","status_code":404}},"outcome":"failure","parent_id":"c7ac4e53b1c31537","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c7ac4e53b1c31537"}} +{"transaction":{"duration":54.443542,"id":"c7ac4e53b1c31537","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055557711370,"trace_id":"c7ac4e53b1c31537bb2628c268fbee52","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/620","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/620"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Request-Id":"0a55dca1-ef71-43b5-8094-8cff19e92d59","X-Runtime":"0.043683","Content-Length":"1722","Content-Type":"text/html; charset=UTF-8"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.35104199999999997,"id":"05b25a7f11f49464","name":"SELECT FROM customers","timestamp":1646055557776881,"trace_id":"6b0894de67292b3e55659fb9e2b2fc1c","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"067a4f0d5926eaf0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"067a4f0d5926eaf0"}} +{"transaction":{"duration":0.570584,"id":"067a4f0d5926eaf0","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055557776858,"trace_id":"6b0894de67292b3e55659fb9e2b2fc1c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/8","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/8"},"headers":{"Traceparent":"00-6b0894de67292b3e55659fb9e2b2fc1c-e84c3503bbdeb3f1-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-6b0894de67292b3e55659fb9e2b2fc1c-e84c3503bbdeb3f1-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e84c3503bbdeb3f1","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.330209,"id":"f599df8d94911d03","name":"SELECT FROM customers","timestamp":1646055557790946,"trace_id":"21bda6641b01c16f497b8480d114a29f","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"21bda6641b01c16f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"21bda6641b01c16f"}} +{"transaction":{"duration":0.5607500000000001,"id":"21bda6641b01c16f","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055557790927,"trace_id":"21bda6641b01c16f497b8480d114a29f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/743","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/743"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.253542,"id":"2796aff681bef9f1","name":"SELECT FROM product_types","timestamp":1646055557815345,"trace_id":"5bb03394bf47f1126f7ec56b9511f6be","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"bd5e294758e92c1e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"bd5e294758e92c1e"}} +{"transaction":{"duration":0.34900000000000003,"id":"bd5e294758e92c1e","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055557815335,"trace_id":"5bb03394bf47f1126f7ec56b9511f6be","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-5bb03394bf47f1126f7ec56b9511f6be-440f36bf5a93fdcf-01","Traceparent":"00-5bb03394bf47f1126f7ec56b9511f6be-440f36bf5a93fdcf-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"440f36bf5a93fdcf","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.49283400000000005,"id":"196f4c254ed55891","name":"Request","timestamp":1646055557815275,"trace_id":"5bb03394bf47f1126f7ec56b9511f6be","type":"external","action":"request","outcome":"success","parent_id":"440f36bf5a93fdcf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5bb03394bf47f112"}} +{"span":{"duration":0.028666,"id":"452e25e11903aa05","name":"Response","timestamp":1646055557815769,"trace_id":"5bb03394bf47f1126f7ec56b9511f6be","type":"external","action":"response","outcome":"success","parent_id":"440f36bf5a93fdcf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5bb03394bf47f112"}} +{"span":{"duration":0.542416,"id":"440f36bf5a93fdcf","name":"GET opbeans-go:3000","timestamp":1646055557815256,"trace_id":"5bb03394bf47f1126f7ec56b9511f6be","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types","status_code":200}},"outcome":"success","parent_id":"5bb03394bf47f112","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5bb03394bf47f112"}} +{"transaction":{"duration":0.942584,"id":"5bb03394bf47f112","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055557815148,"trace_id":"5bb03394bf47f1126f7ec56b9511f6be","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:17 GMT","Content-Length":"112"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.522542,"id":"fb28ed20ff8868bd","name":"SELECT FROM orders","timestamp":1646055557837201,"trace_id":"f9421924e3364a66568ccaed2fc98e38","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f9421924e3364a66","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f9421924e3364a66"}} +{"span":{"duration":0.43887499999999996,"id":"53bfb93bb74e073b","name":"SELECT FROM products","timestamp":1646055557837756,"trace_id":"f9421924e3364a66568ccaed2fc98e38","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f9421924e3364a66","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f9421924e3364a66"}} +{"transaction":{"duration":1.20875,"id":"f9421924e3364a66","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055557837178,"trace_id":"f9421924e3364a66568ccaed2fc98e38","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/578","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/578"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.275916,"id":"f364a6f08d89df08","name":"SELECT FROM customers","timestamp":1646055557868658,"trace_id":"944de8b258ba37f87946db385e23cac6","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"944de8b258ba37f8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"944de8b258ba37f8"}} +{"transaction":{"duration":14.3275,"id":"944de8b258ba37f8","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055557868638,"trace_id":"944de8b258ba37f87946db385e23cac6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":54.915541999999995,"id":"d994759d6bf42407","name":"Request","timestamp":1646055557926333,"trace_id":"d4d004eba304d983de616166967059ae","type":"external","action":"request","outcome":"success","parent_id":"e1576b917f210d18","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d4d004eba304d983"}} +{"span":{"duration":0.07025,"id":"e57a38c0d0370e6c","name":"Response","timestamp":1646055557981293,"trace_id":"d4d004eba304d983de616166967059ae","type":"external","action":"response","outcome":"success","parent_id":"e1576b917f210d18","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d4d004eba304d983"}} +{"span":{"duration":55.072583,"id":"e1576b917f210d18","name":"GET opbeans-node:3000","timestamp":1646055557926292,"trace_id":"d4d004eba304d983de616166967059ae","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"d4d004eba304d983","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d4d004eba304d983"}} +{"transaction":{"duration":55.451458,"id":"d4d004eba304d983","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055557926028,"trace_id":"d4d004eba304d983de616166967059ae","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","Date":"Mon, 28 Feb 2022 13:39:17 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"189"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":1.953917,"id":"64abb2f649113192","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055558029881,"trace_id":"64abb2f649113192a0126e7ca22c775e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.155333,"id":"d021e5a51b7ca58f","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055558064794,"trace_id":"d021e5a51b7ca58f21b3b5dba64f08fb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"21b3b5dba64f08fb","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":49.870791999999994,"id":"6debc86c5f581c08","name":"Request","timestamp":1646055558128482,"trace_id":"14a0c402aa5e7fd2701c063252a3b464","type":"external","action":"request","outcome":"success","parent_id":"2a2ca8f1b651dd07","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"76c8565c3f311c8a"}} +{"span":{"duration":0.144125,"id":"c46e18d82c5d1738","name":"Response","timestamp":1646055558178376,"trace_id":"14a0c402aa5e7fd2701c063252a3b464","type":"external","action":"response","outcome":"success","parent_id":"2a2ca8f1b651dd07","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"76c8565c3f311c8a"}} +{"span":{"duration":50.067291,"id":"2a2ca8f1b651dd07","name":"GET opbeans-ruby:3000","timestamp":1646055558128454,"trace_id":"14a0c402aa5e7fd2701c063252a3b464","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/715","status_code":404}},"outcome":"failure","parent_id":"76c8565c3f311c8a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"76c8565c3f311c8a"}} +{"transaction":{"duration":50.899709,"id":"76c8565c3f311c8a","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055558128010,"trace_id":"14a0c402aa5e7fd2701c063252a3b464","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/715","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/715"},"headers":{"Traceparent":"00-14a0c402aa5e7fd2701c063252a3b464-02901b6a20d0bad3-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-14a0c402aa5e7fd2701c063252a3b464-02901b6a20d0bad3-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"text/html; charset=UTF-8","X-Request-Id":"48b205a0-1acd-4d8a-8bf6-259c8fdf0605","X-Runtime":"0.040098","Content-Length":"1722"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"02901b6a20d0bad3","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":102.172292,"id":"c00c0795b8bdba79","name":"Request","timestamp":1646055558083292,"trace_id":"14a0c402aa5e7fd2701c063252a3b464","type":"external","action":"request","outcome":"success","parent_id":"99551c51ef88c495","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"14a0c402aa5e7fd2"}} +{"span":{"duration":0.161958,"id":"5b80ab3828085c90","name":"Response","timestamp":1646055558185488,"trace_id":"14a0c402aa5e7fd2701c063252a3b464","type":"external","action":"response","outcome":"success","parent_id":"99551c51ef88c495","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"14a0c402aa5e7fd2"}} +{"span":{"duration":102.384,"id":"99551c51ef88c495","name":"GET opbeans-node:3000","timestamp":1646055558083267,"trace_id":"14a0c402aa5e7fd2701c063252a3b464","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders/715","status_code":404}},"outcome":"failure","parent_id":"14a0c402aa5e7fd2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"14a0c402aa5e7fd2"}} +{"transaction":{"duration":102.57275,"id":"14a0c402aa5e7fd2","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055558083208,"trace_id":"14a0c402aa5e7fd2701c063252a3b464","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/715","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/715"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Length":"1722","Content-Type":"text/html; charset=UTF-8","X-Request-Id":"48b205a0-1acd-4d8a-8bf6-259c8fdf0605","X-Runtime":"0.040098","Date":"Mon, 28 Feb 2022 13:39:18 GMT"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":51.356625,"id":"b139b7735df00f6e","name":"Request","timestamp":1646055558206647,"trace_id":"df6aae8b178066ffe8267b6e81375e2a","type":"external","action":"request","outcome":"success","parent_id":"81e91f1ddc55c2f6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"df6aae8b178066ff"}} +{"span":{"duration":0.072042,"id":"d86d9849abbec77a","name":"Response","timestamp":1646055558258036,"trace_id":"df6aae8b178066ffe8267b6e81375e2a","type":"external","action":"response","outcome":"success","parent_id":"81e91f1ddc55c2f6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"df6aae8b178066ff"}} +{"span":{"duration":51.480708,"id":"81e91f1ddc55c2f6","name":"GET opbeans-ruby:3000","timestamp":1646055558206629,"trace_id":"df6aae8b178066ffe8267b6e81375e2a","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"df6aae8b178066ff","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"df6aae8b178066ff"}} +{"transaction":{"duration":51.678125,"id":"df6aae8b178066ff","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055558206559,"trace_id":"df6aae8b178066ffe8267b6e81375e2a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Accept","X-Xss-Protection":"1; mode=block","X-Download-Options":"noopen","Referrer-Policy":"strict-origin-when-cross-origin","Etag":"W/\"37992d7e5d1df22332cd7c5be552ddce\"","X-Request-Id":"63eac16f-5c81-41fb-9f73-6cff787eb295","Content-Type":"application/json; charset=utf-8","X-Permitted-Cross-Domain-Policies":"none","X-Frame-Options":"SAMEORIGIN","Cache-Control":"max-age=0, private, must-revalidate","X-Runtime":"0.032115","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.483416,"id":"615c0d7fafa28858","name":"SELECT FROM orders","timestamp":1646055558278724,"trace_id":"02c75ba92f8f090e00c368a782fb0b89","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5d7516dbb58c0a99","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5d7516dbb58c0a99"}} +{"span":{"duration":2.184458,"id":"0b514180cdad268e","name":"Request","timestamp":1646055558278623,"trace_id":"02c75ba92f8f090e00c368a782fb0b89","type":"external","action":"request","outcome":"success","parent_id":"41e67845bcccbc4f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"02c75ba92f8f090e"}} +{"transaction":{"duration":2.272792,"id":"5d7516dbb58c0a99","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055558278712,"trace_id":"02c75ba92f8f090e00c368a782fb0b89","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-02c75ba92f8f090e00c368a782fb0b89-41e67845bcccbc4f-01","Traceparent":"00-02c75ba92f8f090e00c368a782fb0b89-41e67845bcccbc4f-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"41e67845bcccbc4f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.25704200000000005,"id":"07fa02caae4372af","name":"Response","timestamp":1646055558280812,"trace_id":"02c75ba92f8f090e00c368a782fb0b89","type":"external","action":"response","outcome":"success","parent_id":"41e67845bcccbc4f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"02c75ba92f8f090e"}} +{"span":{"duration":2.557791,"id":"41e67845bcccbc4f","name":"GET opbeans-go:3000","timestamp":1646055558278512,"trace_id":"02c75ba92f8f090e00c368a782fb0b89","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"02c75ba92f8f090e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"02c75ba92f8f090e"}} +{"transaction":{"duration":2.83025,"id":"02c75ba92f8f090e","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055558278279,"trace_id":"02c75ba92f8f090e00c368a782fb0b89","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:18 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.638583,"id":"5eab74555fa7f8c1","name":"DNS opbeans-python","timestamp":1646055558307292,"trace_id":"3d25ee060f747eca4a5cf3eecf8e447f","type":"external","action":"dns","outcome":"success","parent_id":"e0468e153dfbed18","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3d25ee060f747eca"}} +{"span":{"duration":0.15875,"id":"15e8cdb63b69158a","name":"Connect 172.23.0.11:3000","timestamp":1646055558307938,"trace_id":"3d25ee060f747eca4a5cf3eecf8e447f","type":"external","action":"connect","outcome":"success","parent_id":"e0468e153dfbed18","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3d25ee060f747eca"}} +{"span":{"duration":60.876708,"id":"5b89ea39060d591f","name":"Request","timestamp":1646055558308110,"trace_id":"3d25ee060f747eca4a5cf3eecf8e447f","type":"external","action":"request","outcome":"success","parent_id":"e0468e153dfbed18","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3d25ee060f747eca"}} +{"span":{"duration":5.036041,"id":"6f1c51390618ddbe","name":"Response","timestamp":1646055558369013,"trace_id":"3d25ee060f747eca4a5cf3eecf8e447f","type":"external","action":"response","outcome":"success","parent_id":"e0468e153dfbed18","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3d25ee060f747eca"}} +{"span":{"duration":66.895458,"id":"e0468e153dfbed18","name":"GET opbeans-python:3000","timestamp":1646055558307194,"trace_id":"3d25ee060f747eca4a5cf3eecf8e447f","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/4/customers?limit=60","status_code":200}},"outcome":"success","parent_id":"3d25ee060f747eca","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3d25ee060f747eca"}} +{"transaction":{"duration":67.107833,"id":"3d25ee060f747eca","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055558307068,"trace_id":"3d25ee060f747eca4a5cf3eecf8e447f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","search":"limit=60","full":"http://opbeans-go:3000/api/products/4/customers?limit=60"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:18 GMT","Vary":"Cookie","Referrer-Policy":"same-origin","Server":"gunicorn","Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"14728","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.486375,"id":"f60ef2171ecf3f95","name":"SELECT FROM orders","timestamp":1646055558394719,"trace_id":"6c7db07a33fa6a8db7f0ca1f91747705","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6c7db07a33fa6a8d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6c7db07a33fa6a8d"}} +{"span":{"duration":0.6387079999999999,"id":"dc0038f817ae22af","name":"SELECT FROM products","timestamp":1646055558395241,"trace_id":"6c7db07a33fa6a8db7f0ca1f91747705","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6c7db07a33fa6a8d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6c7db07a33fa6a8d"}} +{"transaction":{"duration":1.289292,"id":"6c7db07a33fa6a8d","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055558394700,"trace_id":"6c7db07a33fa6a8db7f0ca1f91747705","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/921","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/921"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.53175,"id":"a33a9ba89dfb43ea","name":"SELECT FROM customers","timestamp":1646055558428824,"trace_id":"2ac35e2e005c3e2bc762e7ab8470a00c","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2ac35e2e005c3e2b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2ac35e2e005c3e2b"}} +{"span":{"duration":0.6497919999999999,"id":"a1c22cd79f71d503","name":"INSERT INTO order_lines","timestamp":1646055558429801,"trace_id":"2ac35e2e005c3e2bc762e7ab8470a00c","type":"db","action":"prepare","context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2ac35e2e005c3e2b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2ac35e2e005c3e2b"}} +{"span":{"duration":2.329541,"id":"43358f222b331de2","name":"INSERT INTO orders","timestamp":1646055558430463,"trace_id":"2ac35e2e005c3e2bc762e7ab8470a00c","type":"db","action":"query","context":{"db":{"statement":"INSERT INTO orders (customer_id) VALUES ($1) RETURNING id","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2ac35e2e005c3e2b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2ac35e2e005c3e2b"}} +{"span":{"duration":0.238584,"id":"bb78fdd1900ab828","name":"INSERT INTO order_lines","timestamp":1646055558432840,"trace_id":"2ac35e2e005c3e2bc762e7ab8470a00c","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2ac35e2e005c3e2b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2ac35e2e005c3e2b"}} +{"span":{"duration":0.114958,"id":"a6929ab79697c5f2","name":"INSERT INTO order_lines","timestamp":1646055558433083,"trace_id":"2ac35e2e005c3e2bc762e7ab8470a00c","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2ac35e2e005c3e2b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2ac35e2e005c3e2b"}} +{"span":{"duration":0.123084,"id":"db62631d5b390efb","name":"INSERT INTO order_lines","timestamp":1646055558433201,"trace_id":"2ac35e2e005c3e2bc762e7ab8470a00c","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2ac35e2e005c3e2b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2ac35e2e005c3e2b"}} +{"transaction":{"duration":6.800042,"id":"2ac35e2e005c3e2b","name":"POST /api/orders","span_count":{"dropped":0,"started":6},"timestamp":1646055558428287,"trace_id":"2ac35e2e005c3e2bc762e7ab8470a00c","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"103","Content-Type":"text/plain; charset=utf-8"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"customer_name":"Barbara Wright","customer_email":"bwrightqs@joomla.org"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.0211249999999998,"id":"194eb53d8e6c9981","name":"DNS opbeans-python","timestamp":1646055558457312,"trace_id":"0cdc8f36403b027f16d4247a334ec63a","type":"external","action":"dns","outcome":"success","parent_id":"32143db6cb8168eb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0cdc8f36403b027f"}} +{"span":{"duration":0.718667,"id":"f3baac044cc8e4f6","name":"Connect 172.23.0.11:3000","timestamp":1646055558458372,"trace_id":"0cdc8f36403b027f16d4247a334ec63a","type":"external","action":"connect","outcome":"success","parent_id":"32143db6cb8168eb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0cdc8f36403b027f"}} +{"span":{"duration":50.57325,"id":"7470f60dd1576ad4","name":"Request","timestamp":1646055558459121,"trace_id":"0cdc8f36403b027f16d4247a334ec63a","type":"external","action":"request","outcome":"success","parent_id":"32143db6cb8168eb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0cdc8f36403b027f"}} +{"span":{"duration":0.919,"id":"5f8f8b96be401370","name":"Response","timestamp":1646055558509727,"trace_id":"0cdc8f36403b027f16d4247a334ec63a","type":"external","action":"response","outcome":"success","parent_id":"32143db6cb8168eb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0cdc8f36403b027f"}} +{"span":{"duration":53.418625999999996,"id":"32143db6cb8168eb","name":"GET opbeans-python:3000","timestamp":1646055558457229,"trace_id":"0cdc8f36403b027f16d4247a334ec63a","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/5","status_code":200}},"outcome":"success","parent_id":"0cdc8f36403b027f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0cdc8f36403b027f"}} +{"transaction":{"duration":54.730042,"id":"0cdc8f36403b027f","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055558457087,"trace_id":"0cdc8f36403b027f16d4247a334ec63a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","Referrer-Policy":"same-origin","X-Frame-Options":"DENY","Content-Length":"267","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:18 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.637,"id":"32ec9076975f9979","name":"SELECT FROM product_types","timestamp":1646055558530300,"trace_id":"21025c1f87cc09e7e0cf286cd9a25921","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"21025c1f87cc09e7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"21025c1f87cc09e7"}} +{"transaction":{"duration":0.764667,"id":"21025c1f87cc09e7","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055558530274,"trace_id":"21025c1f87cc09e7e0cf286cd9a25921","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.485458,"id":"31b2ba1ac3ee9935","name":"SELECT FROM products","timestamp":1646055558554486,"trace_id":"adff4b4bf55b5ebbbd28f0140869dbad","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"adff4b4bf55b5ebb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"adff4b4bf55b5ebb"}} +{"transaction":{"duration":0.90375,"id":"adff4b4bf55b5ebb","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055558554458,"trace_id":"adff4b4bf55b5ebbbd28f0140869dbad","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":59.293125,"id":"ad5add154029735a","name":"Request","timestamp":1646055558574209,"trace_id":"03b128340f281acb08a4a44ed30a65f0","type":"external","action":"request","outcome":"success","parent_id":"f7763409a82e1cd4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"03b128340f281acb"}} +{"span":{"duration":0.306041,"id":"6d40d24087819a15","name":"Response","timestamp":1646055558633558,"trace_id":"03b128340f281acb08a4a44ed30a65f0","type":"external","action":"response","outcome":"success","parent_id":"f7763409a82e1cd4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"03b128340f281acb"}} +{"span":{"duration":59.705332999999996,"id":"f7763409a82e1cd4","name":"GET opbeans-ruby:3000","timestamp":1646055558574159,"trace_id":"03b128340f281acb08a4a44ed30a65f0","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/298","status_code":404}},"outcome":"failure","parent_id":"03b128340f281acb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"03b128340f281acb"}} +{"transaction":{"duration":60.05525,"id":"03b128340f281acb","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055558574052,"trace_id":"03b128340f281acb08a4a44ed30a65f0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/298","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/298"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=UTF-8"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.508625,"id":"0236967f5bafbc1d","name":"DNS opbeans-node","timestamp":1646055558655327,"trace_id":"3ca84857c04737aecf23d41d97481345","type":"external","action":"dns","outcome":"success","parent_id":"d22ff56ef1772179","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3ca84857c04737ae"}} +{"span":{"duration":0.107833,"id":"6f6124441d4b9e94","name":"Connect 172.23.0.10:3000","timestamp":1646055558655840,"trace_id":"3ca84857c04737aecf23d41d97481345","type":"external","action":"connect","outcome":"success","parent_id":"d22ff56ef1772179","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3ca84857c04737ae"}} +{"span":{"duration":36.1295,"id":"9f84464681878e93","name":"Request","timestamp":1646055558655964,"trace_id":"3ca84857c04737aecf23d41d97481345","type":"external","action":"request","outcome":"success","parent_id":"d22ff56ef1772179","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3ca84857c04737ae"}} +{"span":{"duration":0.049583,"id":"91aef8cfe60b6e4a","name":"Response","timestamp":1646055558692117,"trace_id":"3ca84857c04737aecf23d41d97481345","type":"external","action":"response","outcome":"success","parent_id":"d22ff56ef1772179","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3ca84857c04737ae"}} +{"span":{"duration":36.880291,"id":"d22ff56ef1772179","name":"GET opbeans-node:3000","timestamp":1646055558655287,"trace_id":"3ca84857c04737aecf23d41d97481345","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders/595","status_code":404}},"outcome":"failure","parent_id":"3ca84857c04737ae","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3ca84857c04737ae"}} +{"transaction":{"duration":37.285208,"id":"3ca84857c04737ae","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055558655107,"trace_id":"3ca84857c04737aecf23d41d97481345","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/595","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/595"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:18 GMT","Content-Length":"0","X-Powered-By":"Express"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"transaction":{"duration":0.588292,"id":"984cc02d5debe9d7","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055558712618,"trace_id":"984cc02d5debe9d734ae433f238ec6a2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.39325,"id":"e9ccfc4fd2355145","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055558731109,"trace_id":"e9ccfc4fd23551451d8ce19c1ea99723","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":32.799457999999994,"id":"0a5e354d73267835","name":"Request","timestamp":1646055558750028,"trace_id":"760ed79415650c548f384efaf687a4ab","type":"external","action":"request","outcome":"success","parent_id":"a761794aa7cc1412","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"760ed79415650c54"}} +{"span":{"duration":0.140541,"id":"c8eeee2f97b41c94","name":"Response","timestamp":1646055558782850,"trace_id":"760ed79415650c548f384efaf687a4ab","type":"external","action":"response","outcome":"success","parent_id":"a761794aa7cc1412","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"760ed79415650c54"}} +{"span":{"duration":32.994792000000004,"id":"a761794aa7cc1412","name":"GET opbeans-ruby:3000","timestamp":1646055558749997,"trace_id":"760ed79415650c548f384efaf687a4ab","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"760ed79415650c54","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"760ed79415650c54"}} +{"transaction":{"duration":33.405249999999995,"id":"760ed79415650c54","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055558749882,"trace_id":"760ed79415650c548f384efaf687a4ab","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Xss-Protection":"1; mode=block","Vary":"Accept","Cache-Control":"max-age=0, private, must-revalidate","X-Runtime":"0.023745","X-Frame-Options":"SAMEORIGIN","Content-Type":"application/json; charset=utf-8","X-Download-Options":"noopen","Referrer-Policy":"strict-origin-when-cross-origin","Etag":"W/\"32a6f2ac22b5ec871f35104a05ba3759\"","X-Content-Type-Options":"nosniff","X-Permitted-Cross-Domain-Policies":"none","X-Request-Id":"4e3c2a5f-b4fb-4b78-b778-122c22d810ba"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.27108299999999996,"id":"2b8285fd7e1e8780","name":"DNS opbeans-python","timestamp":1646055558802953,"trace_id":"9db1904d9cb097bcd525979d1c46b186","type":"external","action":"dns","outcome":"success","parent_id":"7fdfa56d8f1d3851","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9db1904d9cb097bc"}} +{"span":{"duration":0.096625,"id":"7ec0f607cba8ad89","name":"Connect 172.23.0.11:3000","timestamp":1646055558803229,"trace_id":"9db1904d9cb097bcd525979d1c46b186","type":"external","action":"connect","outcome":"success","parent_id":"7fdfa56d8f1d3851","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9db1904d9cb097bc"}} +{"span":{"duration":37.754083,"id":"f93e34071057286f","name":"Request","timestamp":1646055558803343,"trace_id":"9db1904d9cb097bcd525979d1c46b186","type":"external","action":"request","outcome":"success","parent_id":"7fdfa56d8f1d3851","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9db1904d9cb097bc"}} +{"span":{"duration":1.124667,"id":"0eb72d643e205030","name":"Response","timestamp":1646055558841124,"trace_id":"9db1904d9cb097bcd525979d1c46b186","type":"external","action":"response","outcome":"success","parent_id":"7fdfa56d8f1d3851","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9db1904d9cb097bc"}} +{"span":{"duration":39.335291,"id":"7fdfa56d8f1d3851","name":"GET opbeans-python:3000","timestamp":1646055558802914,"trace_id":"9db1904d9cb097bcd525979d1c46b186","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"9db1904d9cb097bc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9db1904d9cb097bc"}} +{"transaction":{"duration":39.630582999999994,"id":"9db1904d9cb097bc","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055558802715,"trace_id":"9db1904d9cb097bcd525979d1c46b186","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"309","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:18 GMT","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.284167,"id":"0da4775ec904e258","name":"DNS opbeans-python","timestamp":1646055558860602,"trace_id":"81fb5b5fdec0820a0fd479f9fd209ac6","type":"external","action":"dns","outcome":"success","parent_id":"1f9e803b8909b481","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"81fb5b5fdec0820a"}} +{"span":{"duration":0.12141700000000001,"id":"d50b3c2a41df2b24","name":"Connect 172.23.0.11:3000","timestamp":1646055558860890,"trace_id":"81fb5b5fdec0820a0fd479f9fd209ac6","type":"external","action":"connect","outcome":"success","parent_id":"1f9e803b8909b481","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"81fb5b5fdec0820a"}} +{"span":{"duration":132.078,"id":"59fd7a2909d5639e","name":"Request","timestamp":1646055558861020,"trace_id":"81fb5b5fdec0820a0fd479f9fd209ac6","type":"external","action":"request","outcome":"success","parent_id":"1f9e803b8909b481","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"81fb5b5fdec0820a"}} +{"span":{"duration":0.173375,"id":"fa23cae50df06c8a","name":"Response","timestamp":1646055558993131,"trace_id":"81fb5b5fdec0820a0fd479f9fd209ac6","type":"external","action":"response","outcome":"success","parent_id":"1f9e803b8909b481","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"81fb5b5fdec0820a"}} +{"span":{"duration":132.791708,"id":"1f9e803b8909b481","name":"GET opbeans-python:3000","timestamp":1646055558860513,"trace_id":"81fb5b5fdec0820a0fd479f9fd209ac6","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"81fb5b5fdec0820a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"81fb5b5fdec0820a"}} +{"transaction":{"duration":133.086416,"id":"81fb5b5fdec0820a","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055558860320,"trace_id":"81fb5b5fdec0820a0fd479f9fd209ac6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:18 GMT","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Vary":"Cookie","Referrer-Policy":"same-origin","Server":"gunicorn","Content-Length":"1307","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.6480830000000001,"id":"66a34bdebe2815d3","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055559013135,"trace_id":"66a34bdebe2815d3945d074369828b16","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":39.994958,"id":"690ad4a8087db112","name":"Request","timestamp":1646055559032096,"trace_id":"fd5f19eacd929bb7d1466b61f00c192a","type":"external","action":"request","outcome":"success","parent_id":"e6cf8707e5a62d57","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fd5f19eacd929bb7"}} +{"span":{"duration":0.054,"id":"bd2b9d49ddbb0061","name":"Response","timestamp":1646055559072124,"trace_id":"fd5f19eacd929bb7d1466b61f00c192a","type":"external","action":"response","outcome":"success","parent_id":"e6cf8707e5a62d57","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fd5f19eacd929bb7"}} +{"span":{"duration":40.106875,"id":"e6cf8707e5a62d57","name":"GET opbeans-node:3000","timestamp":1646055559032072,"trace_id":"fd5f19eacd929bb7d1466b61f00c192a","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"fd5f19eacd929bb7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fd5f19eacd929bb7"}} +{"transaction":{"duration":40.354665999999995,"id":"fd5f19eacd929bb7","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055559031945,"trace_id":"fd5f19eacd929bb7d1466b61f00c192a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"275","Etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","Date":"Mon, 28 Feb 2022 13:39:19 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.572708,"id":"5d1a1163f1db48a1","name":"SELECT FROM customers","timestamp":1646055559091336,"trace_id":"c2efd8fd7e3b2ae524ebbde832738e4e","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"875fa9dad6b57b8b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"875fa9dad6b57b8b"}} +{"transaction":{"duration":2.812083,"id":"875fa9dad6b57b8b","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055559091317,"trace_id":"c2efd8fd7e3b2ae524ebbde832738e4e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1/customers"},"headers":{"Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-c2efd8fd7e3b2ae524ebbde832738e4e-74632085f74471b4-01","Traceparent":"00-c2efd8fd7e3b2ae524ebbde832738e4e-74632085f74471b4-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"74632085f74471b4","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.94425,"id":"43e8270db0398e4c","name":"Request","timestamp":1646055559091231,"trace_id":"c2efd8fd7e3b2ae524ebbde832738e4e","type":"external","action":"request","outcome":"success","parent_id":"74632085f74471b4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c2efd8fd7e3b2ae5"}} +{"span":{"duration":2.002917,"id":"f5fcbf69a32cfa68","name":"Response","timestamp":1646055559094177,"trace_id":"c2efd8fd7e3b2ae524ebbde832738e4e","type":"external","action":"response","outcome":"success","parent_id":"74632085f74471b4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c2efd8fd7e3b2ae5"}} +{"span":{"duration":4.96875,"id":"74632085f74471b4","name":"GET opbeans-go:3000","timestamp":1646055559091214,"trace_id":"c2efd8fd7e3b2ae524ebbde832738e4e","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/1/customers","status_code":200}},"outcome":"success","parent_id":"c2efd8fd7e3b2ae5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c2efd8fd7e3b2ae5"}} +{"transaction":{"duration":5.085667,"id":"c2efd8fd7e3b2ae5","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055559091155,"trace_id":"c2efd8fd7e3b2ae524ebbde832738e4e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:19 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.641959,"id":"1d59d2df99288d13","name":"SELECT FROM orders","timestamp":1646055559113285,"trace_id":"c36e50884877ba5057e5586e045e0ae7","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c36e50884877ba50","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c36e50884877ba50"}} +{"transaction":{"duration":4.130083,"id":"c36e50884877ba50","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055559113267,"trace_id":"c36e50884877ba5057e5586e045e0ae7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.256459,"id":"d38bb74cdb865a6a","name":"SELECT FROM customers","timestamp":1646055559152054,"trace_id":"243c0fafefd8b22ebe8bf55af0ccbce6","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"243c0fafefd8b22e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"243c0fafefd8b22e"}} +{"span":{"duration":0.06658299999999999,"id":"63a8d90cfa67baad","name":"INSERT INTO order_lines","timestamp":1646055559152413,"trace_id":"243c0fafefd8b22ebe8bf55af0ccbce6","type":"db","action":"prepare","context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"243c0fafefd8b22e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"243c0fafefd8b22e"}} +{"span":{"duration":0.275667,"id":"d0c06e272e36240a","name":"INSERT INTO orders","timestamp":1646055559152483,"trace_id":"243c0fafefd8b22ebe8bf55af0ccbce6","type":"db","action":"query","context":{"db":{"statement":"INSERT INTO orders (customer_id) VALUES ($1) RETURNING id","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"243c0fafefd8b22e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"243c0fafefd8b22e"}} +{"span":{"duration":0.16175,"id":"1aec306c3f4a00a9","name":"INSERT INTO order_lines","timestamp":1646055559152771,"trace_id":"243c0fafefd8b22ebe8bf55af0ccbce6","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"243c0fafefd8b22e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"243c0fafefd8b22e"}} +{"span":{"duration":0.08287499999999999,"id":"19fb96dc111466f7","name":"INSERT INTO order_lines","timestamp":1646055559152939,"trace_id":"243c0fafefd8b22ebe8bf55af0ccbce6","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"243c0fafefd8b22e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"243c0fafefd8b22e"}} +{"span":{"duration":0.087041,"id":"ec865a06a4279f64","name":"INSERT INTO order_lines","timestamp":1646055559153026,"trace_id":"243c0fafefd8b22ebe8bf55af0ccbce6","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"243c0fafefd8b22e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"243c0fafefd8b22e"}} +{"span":{"duration":0.052458,"id":"79f3f3ee20f7cb13","name":"INSERT INTO order_lines","timestamp":1646055559153116,"trace_id":"243c0fafefd8b22ebe8bf55af0ccbce6","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"243c0fafefd8b22e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"243c0fafefd8b22e"}} +{"span":{"duration":0.067333,"id":"76cf8981948bb388","name":"INSERT INTO order_lines","timestamp":1646055559153171,"trace_id":"243c0fafefd8b22ebe8bf55af0ccbce6","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"243c0fafefd8b22e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"243c0fafefd8b22e"}} +{"transaction":{"duration":7.845666,"id":"243c0fafefd8b22e","name":"POST /api/orders/csv","span_count":{"dropped":0,"started":8},"timestamp":1646055559149048,"trace_id":"243c0fafefd8b22ebe8bf55af0ccbce6","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders/csv","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/csv"},"headers":{"Content-Length":"388","Content-Type":"multipart/form-data; boundary=669574aeaa9c436ca0fa410475933056","Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"customer_name":"Charles Rogers","customer_email":"crogersr3@paginegialle.it"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.294459,"id":"9b51d1270fac882b","name":"DNS opbeans-go","timestamp":1646055559178780,"trace_id":"f67212ea9b52516abca5ea96560d7ba5","type":"external","action":"dns","outcome":"success","parent_id":"6f767b575cb85773","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f67212ea9b52516a"}} +{"span":{"duration":0.144917,"id":"4b0fa90d1d9d11b0","name":"Connect 172.23.0.9:3000","timestamp":1646055559179080,"trace_id":"f67212ea9b52516abca5ea96560d7ba5","type":"external","action":"connect","outcome":"success","parent_id":"6f767b575cb85773","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f67212ea9b52516a"}} +{"span":{"duration":0.353833,"id":"b6fb1c86bf33ceb2","name":"SELECT FROM products","timestamp":1646055559179310,"trace_id":"f67212ea9b52516abca5ea96560d7ba5","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e1e148a4c7f96b6e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e1e148a4c7f96b6e"}} +{"transaction":{"duration":0.456958,"id":"e1e148a4c7f96b6e","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055559179294,"trace_id":"f67212ea9b52516abca5ea96560d7ba5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-f67212ea9b52516abca5ea96560d7ba5-6f767b575cb85773-01","Traceparent":"00-f67212ea9b52516abca5ea96560d7ba5-6f767b575cb85773-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6f767b575cb85773","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5635,"id":"bc5c16812f5d9e7c","name":"Request","timestamp":1646055559179234,"trace_id":"f67212ea9b52516abca5ea96560d7ba5","type":"external","action":"request","outcome":"success","parent_id":"6f767b575cb85773","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f67212ea9b52516a"}} +{"span":{"duration":0.066208,"id":"54e652d95cd08d04","name":"Response","timestamp":1646055559179798,"trace_id":"f67212ea9b52516abca5ea96560d7ba5","type":"external","action":"response","outcome":"success","parent_id":"6f767b575cb85773","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f67212ea9b52516a"}} +{"span":{"duration":1.1277089999999999,"id":"6f767b575cb85773","name":"GET opbeans-go:3000","timestamp":1646055559178737,"trace_id":"f67212ea9b52516abca5ea96560d7ba5","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products","status_code":200}},"outcome":"success","parent_id":"f67212ea9b52516a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f67212ea9b52516a"}} +{"transaction":{"duration":1.3788749999999999,"id":"f67212ea9b52516a","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055559178527,"trace_id":"f67212ea9b52516abca5ea96560d7ba5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:19 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.342334,"id":"e2ec6665342f34d0","name":"SELECT FROM orders","timestamp":1646055559197975,"trace_id":"122be3eb0c000dca45d7421c78c47346","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"122be3eb0c000dca","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"122be3eb0c000dca"}} +{"span":{"duration":0.49200000000000005,"id":"8ec9dab20a43cfe6","name":"SELECT FROM products","timestamp":1646055559198347,"trace_id":"122be3eb0c000dca45d7421c78c47346","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"122be3eb0c000dca","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"122be3eb0c000dca"}} +{"transaction":{"duration":0.961125,"id":"122be3eb0c000dca","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055559197957,"trace_id":"122be3eb0c000dca45d7421c78c47346","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/162","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/162"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.744583,"id":"209152b17bea94aa","name":"SELECT FROM orders","timestamp":1646055559222053,"trace_id":"e9757e3f1d1995427a12e4679d57e47f","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e9757e3f1d199542","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e9757e3f1d199542"}} +{"transaction":{"duration":2.3870419999999997,"id":"e9757e3f1d199542","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055559222034,"trace_id":"e9757e3f1d1995427a12e4679d57e47f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":42.604291,"id":"85c10c1f284bbaf8","name":"Request","timestamp":1646055559248273,"trace_id":"ea5b81b613652b0623b8a1ecd3d8673f","type":"external","action":"request","outcome":"success","parent_id":"eb4e8bccb03e3acf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ea5b81b613652b06"}} +{"span":{"duration":0.285292,"id":"1bd1c1dbb4fac299","name":"Response","timestamp":1646055559290979,"trace_id":"ea5b81b613652b0623b8a1ecd3d8673f","type":"external","action":"response","outcome":"success","parent_id":"eb4e8bccb03e3acf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ea5b81b613652b06"}} +{"span":{"duration":43.013292,"id":"eb4e8bccb03e3acf","name":"GET opbeans-ruby:3000","timestamp":1646055559248253,"trace_id":"ea5b81b613652b0623b8a1ecd3d8673f","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"ea5b81b613652b06","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ea5b81b613652b06"}} +{"transaction":{"duration":43.291250000000005,"id":"ea5b81b613652b06","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055559248129,"trace_id":"ea5b81b613652b0623b8a1ecd3d8673f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"strict-origin-when-cross-origin","X-Runtime":"0.029827","Content-Type":"application/json; charset=utf-8","Vary":"Accept","Cache-Control":"max-age=0, private, must-revalidate","X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","Etag":"W/\"37992d7e5d1df22332cd7c5be552ddce\"","X-Request-Id":"fddc1d55-2303-41ad-a453-5ad3bfcafdca","X-Frame-Options":"SAMEORIGIN","X-Permitted-Cross-Domain-Policies":"none","X-Xss-Protection":"1; mode=block"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.318209,"id":"c11f4202ba89d1c3","name":"DNS opbeans-python","timestamp":1646055559313691,"trace_id":"49fbf56d484c504ec4db8cc672a1531b","type":"external","action":"dns","outcome":"success","parent_id":"27fde2e4a53a8420","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"49fbf56d484c504e"}} +{"span":{"duration":0.177667,"id":"0d97717d1953ee8f","name":"Connect 172.23.0.11:3000","timestamp":1646055559314014,"trace_id":"49fbf56d484c504ec4db8cc672a1531b","type":"external","action":"connect","outcome":"success","parent_id":"27fde2e4a53a8420","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"49fbf56d484c504e"}} +{"span":{"duration":1.587333,"id":"9b2accbfc3a513f8","name":"SELECT FROM customers","timestamp":1646055559345087,"trace_id":"49fbf56d484c504ec4db8cc672a1531b","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"aeba84f5aeddcdf0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"aeba84f5aeddcdf0"}} +{"transaction":{"duration":2.9594579999999997,"id":"aeba84f5aeddcdf0","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055559345067,"trace_id":"49fbf56d484c504ec4db8cc672a1531b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"X-Forwarded-For":"172.23.0.11","User-Agent":"python-requests/2.27.1","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-49fbf56d484c504ec4db8cc672a1531b-f2ce63f1450d9ee8-01","Traceparent":"00-49fbf56d484c504ec4db8cc672a1531b-f2ce63f1450d9ee8-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f2ce63f1450d9ee8","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.084459,"id":"981ccb00fda6ef43","name":"Request","timestamp":1646055559344991,"trace_id":"49fbf56d484c504ec4db8cc672a1531b","type":"external","action":"request","outcome":"success","parent_id":"f2ce63f1450d9ee8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0944fdcb1dfd4c03"}} +{"span":{"duration":0.224709,"id":"90e4d3ae190ce305","name":"Response","timestamp":1646055559348078,"trace_id":"49fbf56d484c504ec4db8cc672a1531b","type":"external","action":"response","outcome":"success","parent_id":"f2ce63f1450d9ee8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0944fdcb1dfd4c03"}} +{"span":{"duration":3.336708,"id":"f2ce63f1450d9ee8","name":"GET opbeans-go:3000","timestamp":1646055559344967,"trace_id":"49fbf56d484c504ec4db8cc672a1531b","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/2/customers","status_code":200}},"outcome":"success","parent_id":"0944fdcb1dfd4c03","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0944fdcb1dfd4c03"}} +{"transaction":{"duration":3.615625,"id":"0944fdcb1dfd4c03","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055559344759,"trace_id":"49fbf56d484c504ec4db8cc672a1531b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"Traceparent":"00-49fbf56d484c504ec4db8cc672a1531b-8e65cc7b8435310e-01","Elastic-Apm-Traceparent":"00-49fbf56d484c504ec4db8cc672a1531b-8e65cc7b8435310e-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:19 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"8e65cc7b8435310e","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":57.9565,"id":"4f22d13828bdcd8c","name":"Request","timestamp":1646055559314208,"trace_id":"49fbf56d484c504ec4db8cc672a1531b","type":"external","action":"request","outcome":"success","parent_id":"27fde2e4a53a8420","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"49fbf56d484c504e"}} +{"span":{"duration":0.847042,"id":"5d433e6d86815c86","name":"Response","timestamp":1646055559372193,"trace_id":"49fbf56d484c504ec4db8cc672a1531b","type":"external","action":"response","outcome":"success","parent_id":"27fde2e4a53a8420","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"49fbf56d484c504e"}} +{"span":{"duration":59.519375,"id":"27fde2e4a53a8420","name":"GET opbeans-python:3000","timestamp":1646055559313523,"trace_id":"49fbf56d484c504ec4db8cc672a1531b","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/2/customers","status_code":200}},"outcome":"success","parent_id":"49fbf56d484c504e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"49fbf56d484c504e"}} +{"transaction":{"duration":59.965333,"id":"49fbf56d484c504e","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055559313313,"trace_id":"49fbf56d484c504ec4db8cc672a1531b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","X-Frame-Options":"DENY","Content-Length":"111303","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:19 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.30325,"id":"d3726cbd53705775","name":"DNS opbeans-node","timestamp":1646055559419156,"trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","type":"external","action":"dns","outcome":"success","parent_id":"012627b9972a12e6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"af8cbc189ce1ebdd"}} +{"span":{"duration":0.380792,"id":"07aecb237165c1de","name":"Connect 172.23.0.10:3000","timestamp":1646055559419471,"trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","type":"external","action":"connect","outcome":"success","parent_id":"012627b9972a12e6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"af8cbc189ce1ebdd"}} +{"span":{"duration":220.351792,"id":"44fc31a5b7ee251d","name":"Request","timestamp":1646055559419883,"trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","type":"external","action":"request","outcome":"success","parent_id":"012627b9972a12e6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"af8cbc189ce1ebdd"}} +{"span":{"duration":0.135666,"id":"42e77c35e5523a5c","name":"Response","timestamp":1646055559640261,"trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","type":"external","action":"response","outcome":"success","parent_id":"012627b9972a12e6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"af8cbc189ce1ebdd"}} +{"span":{"duration":221.28375,"id":"012627b9972a12e6","name":"GET opbeans-node:3000","timestamp":1646055559419113,"trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/4","status_code":200}},"outcome":"success","parent_id":"af8cbc189ce1ebdd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"af8cbc189ce1ebdd"}} +{"transaction":{"duration":221.434875,"id":"af8cbc189ce1ebdd","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055559419051,"trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"Traceparent":"00-16b2ba7f687b8fd62eb63d48ec93da05-201999048e014d5d-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-16b2ba7f687b8fd62eb63d48ec93da05-201999048e014d5d-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Referrer-Policy":"same-origin","X-Powered-By":"Express","Content-Length":"260","X-Content-Type-Options":"nosniff","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:39:19 GMT","Server":"gunicorn","X-Frame-Options":"DENY","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"201999048e014d5d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":282.056375,"id":"cb1fc568679486e6","name":"Request","timestamp":1646055559393661,"trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","type":"external","action":"request","outcome":"success","parent_id":"967ae9907f6222a5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"16b2ba7f687b8fd6"}} +{"span":{"duration":0.101916,"id":"281c20fe4ea9ea11","name":"Response","timestamp":1646055559675743,"trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","type":"external","action":"response","outcome":"success","parent_id":"967ae9907f6222a5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"16b2ba7f687b8fd6"}} +{"span":{"duration":282.207667,"id":"967ae9907f6222a5","name":"GET opbeans-node:3000","timestamp":1646055559393638,"trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/4","status_code":200}},"outcome":"success","parent_id":"16b2ba7f687b8fd6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"16b2ba7f687b8fd6"}} +{"transaction":{"duration":282.501583,"id":"16b2ba7f687b8fd6","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055559393446,"trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Vary":"Cookie","Date":"Mon, 28 Feb 2022 13:39:19 GMT","X-Content-Type-Options":"nosniff","X-Powered-By":"Express","Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"260","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.348125,"id":"55307c7239e6743a","name":"SELECT FROM customers","timestamp":1646055559694286,"trace_id":"2ec01481d476265ee444fe8986f2cfa9","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2ec01481d476265e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2ec01481d476265e"}} +{"transaction":{"duration":0.45625,"id":"2ec01481d476265e","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055559694262,"trace_id":"2ec01481d476265ee444fe8986f2cfa9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/280","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/280"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.522833,"id":"2fcfb869040cae9f","name":"SELECT FROM orders","timestamp":1646055559716268,"trace_id":"b3c33d361a898aa59d15389885ec35d2","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b3c33d361a898aa5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b3c33d361a898aa5"}} +{"transaction":{"duration":2.139083,"id":"b3c33d361a898aa5","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055559716253,"trace_id":"b3c33d361a898aa59d15389885ec35d2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.473833,"id":"9be051f39decce76","name":"SELECT FROM customers","timestamp":1646055559740231,"trace_id":"35714a799bf8a35fa6ce3fb8e6b68d75","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"35714a799bf8a35f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"35714a799bf8a35f"}} +{"transaction":{"duration":4.37175,"id":"35714a799bf8a35f","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055559740200,"trace_id":"35714a799bf8a35fa6ce3fb8e6b68d75","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=70","full":"http://opbeans-go:3000/api/products/5/customers?limit=70"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.378583,"id":"98495144140c35bc","name":"SELECT FROM orders","timestamp":1646055559767909,"trace_id":"cc7662e29222e06abed59098e10df241","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"bed89b1c30ed8542","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"bed89b1c30ed8542"}} +{"span":{"duration":2.154458,"id":"19851ff92c7377f6","name":"Request","timestamp":1646055559767848,"trace_id":"cc7662e29222e06abed59098e10df241","type":"external","action":"request","outcome":"success","parent_id":"71e2a7bfb4bea16c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cc7662e29222e06a"}} +{"transaction":{"duration":2.1325,"id":"bed89b1c30ed8542","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055559767900,"trace_id":"cc7662e29222e06abed59098e10df241","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-cc7662e29222e06abed59098e10df241-71e2a7bfb4bea16c-01","Traceparent":"00-cc7662e29222e06abed59098e10df241-71e2a7bfb4bea16c-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"71e2a7bfb4bea16c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.16425,"id":"0653db36e2209095","name":"Response","timestamp":1646055559770007,"trace_id":"cc7662e29222e06abed59098e10df241","type":"external","action":"response","outcome":"success","parent_id":"71e2a7bfb4bea16c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cc7662e29222e06a"}} +{"span":{"duration":2.343333,"id":"71e2a7bfb4bea16c","name":"GET opbeans-go:3000","timestamp":1646055559767829,"trace_id":"cc7662e29222e06abed59098e10df241","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"cc7662e29222e06a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cc7662e29222e06a"}} +{"transaction":{"duration":2.434459,"id":"cc7662e29222e06a","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055559767772,"trace_id":"cc7662e29222e06abed59098e10df241","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:19 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.371875,"id":"f59d8722e85974b3","name":"DNS opbeans-python","timestamp":1646055559790414,"trace_id":"425ad6a03a1c4067682b5a247aad997e","type":"external","action":"dns","outcome":"success","parent_id":"13d4fb024d82f933","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1283655343f269cd"}} +{"span":{"duration":0.0965,"id":"cee0ce677e351c78","name":"Connect 172.23.0.11:3000","timestamp":1646055559790807,"trace_id":"425ad6a03a1c4067682b5a247aad997e","type":"external","action":"connect","outcome":"success","parent_id":"13d4fb024d82f933","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1283655343f269cd"}} +{"span":{"duration":61.431334,"id":"dd54835f9a4a10f0","name":"Request","timestamp":1646055559790912,"trace_id":"425ad6a03a1c4067682b5a247aad997e","type":"external","action":"request","outcome":"success","parent_id":"13d4fb024d82f933","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1283655343f269cd"}} +{"span":{"duration":0.11541699999999999,"id":"e87cbc74bbf9be54","name":"Response","timestamp":1646055559852370,"trace_id":"425ad6a03a1c4067682b5a247aad997e","type":"external","action":"response","outcome":"success","parent_id":"13d4fb024d82f933","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1283655343f269cd"}} +{"span":{"duration":62.09775,"id":"13d4fb024d82f933","name":"GET opbeans-python:3000","timestamp":1646055559790388,"trace_id":"425ad6a03a1c4067682b5a247aad997e","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"1283655343f269cd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1283655343f269cd"}} +{"transaction":{"duration":62.567125000000004,"id":"1283655343f269cd","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055559790359,"trace_id":"425ad6a03a1c4067682b5a247aad997e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-425ad6a03a1c4067682b5a247aad997e-6f1e0710f8ccd876-01","Traceparent":"00-425ad6a03a1c4067682b5a247aad997e-6f1e0710f8ccd876-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Server":"gunicorn","X-Frame-Options":"DENY","Content-Length":"2926","Vary":"Cookie","Date":"Mon, 28 Feb 2022 13:39:19 GMT","Content-Type":"application/json; charset=utf-8","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6f1e0710f8ccd876","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":63.024125,"id":"70c587390239493a","name":"Request","timestamp":1646055559790255,"trace_id":"425ad6a03a1c4067682b5a247aad997e","type":"external","action":"request","outcome":"success","parent_id":"6f1e0710f8ccd876","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"425ad6a03a1c4067"}} +{"span":{"duration":0.027583,"id":"3b8fcb46d054d391","name":"Response","timestamp":1646055559853289,"trace_id":"425ad6a03a1c4067682b5a247aad997e","type":"external","action":"response","outcome":"success","parent_id":"6f1e0710f8ccd876","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"425ad6a03a1c4067"}} +{"span":{"duration":63.07925,"id":"6f1e0710f8ccd876","name":"GET opbeans-go:3000","timestamp":1646055559790238,"trace_id":"425ad6a03a1c4067682b5a247aad997e","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products","status_code":200}},"outcome":"success","parent_id":"425ad6a03a1c4067","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"425ad6a03a1c4067"}} +{"transaction":{"duration":63.259917,"id":"425ad6a03a1c4067","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055559790179,"trace_id":"425ad6a03a1c4067682b5a247aad997e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:19 GMT","Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"2926","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":78.854333,"id":"8a8cc94a4c6436af","name":"Request","timestamp":1646055559872164,"trace_id":"dd5ec0a93e3439c2c9f6788699945dfa","type":"external","action":"request","outcome":"success","parent_id":"1a981f6ba0239044","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dd5ec0a93e3439c2"}} +{"span":{"duration":0.097167,"id":"1623ba80aa3aabb6","name":"Response","timestamp":1646055559951050,"trace_id":"dd5ec0a93e3439c2c9f6788699945dfa","type":"external","action":"response","outcome":"success","parent_id":"1a981f6ba0239044","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dd5ec0a93e3439c2"}} +{"span":{"duration":79.00262500000001,"id":"1a981f6ba0239044","name":"GET opbeans-ruby:3000","timestamp":1646055559872145,"trace_id":"dd5ec0a93e3439c2c9f6788699945dfa","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"dd5ec0a93e3439c2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dd5ec0a93e3439c2"}} +{"transaction":{"duration":79.342208,"id":"dd5ec0a93e3439c2","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055559871935,"trace_id":"dd5ec0a93e3439c2c9f6788699945dfa","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":26.277333,"id":"3b74a0d8e1ca6516","name":"Request","timestamp":1646055559969094,"trace_id":"86cf74bcbcde4c2709d5a89a812cbdc9","type":"external","action":"request","outcome":"success","parent_id":"d435066fac91638a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"86cf74bcbcde4c27"}} +{"span":{"duration":0.313459,"id":"2b36c2b7d34ac12a","name":"Response","timestamp":1646055559995394,"trace_id":"86cf74bcbcde4c2709d5a89a812cbdc9","type":"external","action":"response","outcome":"success","parent_id":"d435066fac91638a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"86cf74bcbcde4c27"}} +{"span":{"duration":26.631334,"id":"d435066fac91638a","name":"GET opbeans-ruby:3000","timestamp":1646055559969077,"trace_id":"86cf74bcbcde4c2709d5a89a812cbdc9","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"86cf74bcbcde4c27","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"86cf74bcbcde4c27"}} +{"transaction":{"duration":27.008375,"id":"86cf74bcbcde4c27","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055559968897,"trace_id":"86cf74bcbcde4c2709d5a89a812cbdc9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","Etag":"W/\"37992d7e5d1df22332cd7c5be552ddce\"","X-Xss-Protection":"1; mode=block","X-Content-Type-Options":"nosniff","Referrer-Policy":"strict-origin-when-cross-origin","X-Request-Id":"00872966-bb66-4929-b77c-94ff558baa31","X-Frame-Options":"SAMEORIGIN","Cache-Control":"max-age=0, private, must-revalidate","Vary":"Accept","X-Runtime":"0.017940","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.379958,"id":"a5a64f75bcc534c4","name":"SELECT FROM customers","timestamp":1646055560015274,"trace_id":"96648c6302c84b2e97a7701a8c037b20","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"96648c6302c84b2e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"96648c6302c84b2e"}} +{"transaction":{"duration":0.643792,"id":"96648c6302c84b2e","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055560015253,"trace_id":"96648c6302c84b2e97a7701a8c037b20","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/212","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/212"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.9245,"id":"2fe5e50d0a76d037","name":"SELECT FROM customers","timestamp":1646055560037767,"trace_id":"e1fdcc4364d56ac2d1e4911e8676aad0","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e1fdcc4364d56ac2","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e1fdcc4364d56ac2"}} +{"transaction":{"duration":2.1342079999999997,"id":"e1fdcc4364d56ac2","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055560037747,"trace_id":"e1fdcc4364d56ac2d1e4911e8676aad0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","search":"limit=50","full":"http://opbeans-go:3000/api/products/6/customers?limit=50"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.2585,"id":"c43e68982a9261bf","name":"DNS opbeans-python","timestamp":1646055560060637,"trace_id":"0160d0beb10770fe2d334f79859f310e","type":"external","action":"dns","outcome":"success","parent_id":"00a631d239773dc3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0160d0beb10770fe"}} +{"span":{"duration":0.09720799999999999,"id":"66a6afe569872215","name":"Connect 172.23.0.11:3000","timestamp":1646055560060912,"trace_id":"0160d0beb10770fe2d334f79859f310e","type":"external","action":"connect","outcome":"success","parent_id":"00a631d239773dc3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0160d0beb10770fe"}} +{"span":{"duration":148.0255,"id":"15677f990840faa2","name":"Request","timestamp":1646055560061019,"trace_id":"0160d0beb10770fe2d334f79859f310e","type":"external","action":"request","outcome":"success","parent_id":"00a631d239773dc3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0160d0beb10770fe"}} +{"span":{"duration":0.504792,"id":"f14b16bfaf858f4c","name":"Response","timestamp":1646055560209070,"trace_id":"0160d0beb10770fe2d334f79859f310e","type":"external","action":"response","outcome":"success","parent_id":"00a631d239773dc3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0160d0beb10770fe"}} +{"span":{"duration":149.048,"id":"00a631d239773dc3","name":"GET opbeans-python:3000","timestamp":1646055560060528,"trace_id":"0160d0beb10770fe2d334f79859f310e","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"0160d0beb10770fe","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0160d0beb10770fe"}} +{"transaction":{"duration":149.418833,"id":"0160d0beb10770fe","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055560060312,"trace_id":"0160d0beb10770fe2d334f79859f310e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Content-Length":"186769","Vary":"Cookie","Referrer-Policy":"same-origin","Server":"gunicorn","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:39:20 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.672625,"id":"56a162447495bbec","name":"SELECT FROM products","timestamp":1646055560232018,"trace_id":"6aacae54646ab26f086e7784012bc682","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6aacae54646ab26f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6aacae54646ab26f"}} +{"transaction":{"duration":1.8402500000000002,"id":"6aacae54646ab26f","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055560232001,"trace_id":"6aacae54646ab26f086e7784012bc682","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.364916,"id":"61596ef31b9ec28a","name":"DNS opbeans-go","timestamp":1646055560252628,"trace_id":"bfbf215f1340d607eae82f796398f5d6","type":"external","action":"dns","outcome":"success","parent_id":"2ad5a1e2f8310f68","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fd1a13fdba718749"}} +{"span":{"duration":0.083083,"id":"9072f490cf8b28a6","name":"Connect 172.23.0.9:3000","timestamp":1646055560253005,"trace_id":"bfbf215f1340d607eae82f796398f5d6","type":"external","action":"connect","outcome":"success","parent_id":"2ad5a1e2f8310f68","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fd1a13fdba718749"}} +{"span":{"duration":0.278917,"id":"d89d9d07b847132e","name":"SELECT FROM product_types","timestamp":1646055560253199,"trace_id":"bfbf215f1340d607eae82f796398f5d6","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ab99adb50e9fee84","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ab99adb50e9fee84"}} +{"transaction":{"duration":0.404667,"id":"ab99adb50e9fee84","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055560253188,"trace_id":"bfbf215f1340d607eae82f796398f5d6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-bfbf215f1340d607eae82f796398f5d6-2ad5a1e2f8310f68-01","Traceparent":"00-bfbf215f1340d607eae82f796398f5d6-2ad5a1e2f8310f68-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14, 172.23.0.9","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"2ad5a1e2f8310f68","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5339999999999999,"id":"a885c7b5f15800a5","name":"Request","timestamp":1646055560253111,"trace_id":"bfbf215f1340d607eae82f796398f5d6","type":"external","action":"request","outcome":"success","parent_id":"2ad5a1e2f8310f68","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fd1a13fdba718749"}} +{"span":{"duration":0.0265,"id":"1ea608a0d4e0cb1a","name":"Response","timestamp":1646055560253646,"trace_id":"bfbf215f1340d607eae82f796398f5d6","type":"external","action":"response","outcome":"success","parent_id":"2ad5a1e2f8310f68","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fd1a13fdba718749"}} +{"span":{"duration":1.0785,"id":"2ad5a1e2f8310f68","name":"GET opbeans-go:3000","timestamp":1646055560252594,"trace_id":"bfbf215f1340d607eae82f796398f5d6","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"fd1a13fdba718749","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fd1a13fdba718749"}} +{"transaction":{"duration":1.150416,"id":"fd1a13fdba718749","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055560252559,"trace_id":"bfbf215f1340d607eae82f796398f5d6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-bfbf215f1340d607eae82f796398f5d6-1de65f1373b1b75f-01","Traceparent":"00-bfbf215f1340d607eae82f796398f5d6-1de65f1373b1b75f-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:20 GMT","Content-Length":"35"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"1de65f1373b1b75f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.298583,"id":"c9d992d4fd20645d","name":"Request","timestamp":1646055560252470,"trace_id":"bfbf215f1340d607eae82f796398f5d6","type":"external","action":"request","outcome":"success","parent_id":"1de65f1373b1b75f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bfbf215f1340d607"}} +{"span":{"duration":0.014042,"id":"93292aa430b7022c","name":"Response","timestamp":1646055560253770,"trace_id":"bfbf215f1340d607eae82f796398f5d6","type":"external","action":"response","outcome":"success","parent_id":"1de65f1373b1b75f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bfbf215f1340d607"}} +{"span":{"duration":1.332792,"id":"1de65f1373b1b75f","name":"GET opbeans-go:3000","timestamp":1646055560252452,"trace_id":"bfbf215f1340d607eae82f796398f5d6","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"bfbf215f1340d607","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bfbf215f1340d607"}} +{"transaction":{"duration":1.521625,"id":"bfbf215f1340d607","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055560252353,"trace_id":"bfbf215f1340d607eae82f796398f5d6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:20 GMT","Content-Length":"35","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.450334,"id":"0abbd0278daf6d69","name":"SELECT FROM customers","timestamp":1646055560273343,"trace_id":"b172bcd1213e8239494c41e14ccef53d","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b172bcd1213e8239","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b172bcd1213e8239"}} +{"span":{"duration":0.056833,"id":"7ac798982104867c","name":"INSERT INTO order_lines","timestamp":1646055560273900,"trace_id":"b172bcd1213e8239494c41e14ccef53d","type":"db","action":"prepare","context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b172bcd1213e8239","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b172bcd1213e8239"}} +{"span":{"duration":0.253834,"id":"b35a59cc68fe73d2","name":"INSERT INTO orders","timestamp":1646055560273961,"trace_id":"b172bcd1213e8239494c41e14ccef53d","type":"db","action":"query","context":{"db":{"statement":"INSERT INTO orders (customer_id) VALUES ($1) RETURNING id","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b172bcd1213e8239","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b172bcd1213e8239"}} +{"span":{"duration":0.082667,"id":"cf1632604e75a37a","name":"INSERT INTO order_lines","timestamp":1646055560274226,"trace_id":"b172bcd1213e8239494c41e14ccef53d","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b172bcd1213e8239","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b172bcd1213e8239"}} +{"span":{"duration":0.057166,"id":"bb30c347bd702a65","name":"INSERT INTO order_lines","timestamp":1646055560274311,"trace_id":"b172bcd1213e8239494c41e14ccef53d","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b172bcd1213e8239","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b172bcd1213e8239"}} +{"span":{"duration":0.062209,"id":"5e50a3fa667fedf2","name":"INSERT INTO order_lines","timestamp":1646055560274370,"trace_id":"b172bcd1213e8239494c41e14ccef53d","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b172bcd1213e8239","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b172bcd1213e8239"}} +{"span":{"duration":0.053542000000000006,"id":"4f2ef3d4ac3d1ae7","name":"INSERT INTO order_lines","timestamp":1646055560274434,"trace_id":"b172bcd1213e8239494c41e14ccef53d","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b172bcd1213e8239","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b172bcd1213e8239"}} +{"span":{"duration":0.188083,"id":"0766640ffed66db9","name":"INSERT INTO order_lines","timestamp":1646055560274489,"trace_id":"b172bcd1213e8239494c41e14ccef53d","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b172bcd1213e8239","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b172bcd1213e8239"}} +{"transaction":{"duration":3.3297079999999997,"id":"b172bcd1213e8239","name":"POST /api/orders","span_count":{"dropped":0,"started":8},"timestamp":1646055560272999,"trace_id":"b172bcd1213e8239494c41e14ccef53d","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"151","Content-Type":"text/plain; charset=utf-8","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"customer_name":"Judy Gardner","customer_email":"jgardnerdh@netscape.com"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.401166,"id":"25399c001bb2b5a7","name":"DNS opbeans-node","timestamp":1646055560295443,"trace_id":"3c34786bce8d3b67155d918e9bf65d8a","type":"external","action":"dns","outcome":"success","parent_id":"dd178d75525c09c0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3c34786bce8d3b67"}} +{"span":{"duration":0.114667,"id":"3c10ca0186c1f2d1","name":"Connect 172.23.0.10:3000","timestamp":1646055560295850,"trace_id":"3c34786bce8d3b67155d918e9bf65d8a","type":"external","action":"connect","outcome":"success","parent_id":"dd178d75525c09c0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3c34786bce8d3b67"}} +{"span":{"duration":1.008375,"id":"74a25364d5d85621","name":"SELECT FROM customers","timestamp":1646055560389515,"trace_id":"3c34786bce8d3b67155d918e9bf65d8a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"03acabe903e912f3","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"03acabe903e912f3"}} +{"transaction":{"duration":2.607916,"id":"03acabe903e912f3","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055560389493,"trace_id":"3c34786bce8d3b67155d918e9bf65d8a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/566","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/566"},"headers":{"Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-3c34786bce8d3b67155d918e9bf65d8a-4b342a981cd2549c-01","Connection":"close","Traceparent":"00-3c34786bce8d3b67155d918e9bf65d8a-4b342a981cd2549c-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"4b342a981cd2549c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":207.70787499999997,"id":"aa7d57a264853d47","name":"Request","timestamp":1646055560295985,"trace_id":"3c34786bce8d3b67155d918e9bf65d8a","type":"external","action":"request","outcome":"success","parent_id":"dd178d75525c09c0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3c34786bce8d3b67"}} +{"span":{"duration":0.118125,"id":"7a3c1109ce4e9f4c","name":"Response","timestamp":1646055560503726,"trace_id":"3c34786bce8d3b67155d918e9bf65d8a","type":"external","action":"response","outcome":"success","parent_id":"dd178d75525c09c0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3c34786bce8d3b67"}} +{"span":{"duration":208.447625,"id":"dd178d75525c09c0","name":"GET opbeans-node:3000","timestamp":1646055560295397,"trace_id":"3c34786bce8d3b67155d918e9bf65d8a","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/566","status_code":200}},"outcome":"success","parent_id":"3c34786bce8d3b67","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3c34786bce8d3b67"}} +{"transaction":{"duration":208.725083,"id":"3c34786bce8d3b67","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055560295221,"trace_id":"3c34786bce8d3b67155d918e9bf65d8a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/566","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/566"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","Content-Type":"application/json; charset=utf-8","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:20 GMT","Server":"gunicorn","X-Frame-Options":"DENY","Content-Length":"186","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":7.0197080000000005,"id":"5e0a50cc3d6853ec","name":"SELECT FROM orders","timestamp":1646055560517376,"trace_id":"2993fbdd996911a1bb42088f6feb726a","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2993fbdd996911a1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"conn.go","lineno":119,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).finishSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"conn.go","lineno":139,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).QueryContext","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"ctxutil.go","lineno":48,"abs_path":"/usr/local/go/src/database/sql/ctxutil.go","function":"ctxDriverQuery","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1722,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC.func1","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":3396,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"withLock","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1717,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1700,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).query","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1674,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).QueryContext","library_frame":true,"module":"database/sql"},{"filename":"orders.go","lineno":34,"abs_path":"/src/opbeans-go/orders.go","function":"getOrders","module":"main"},{"filename":"api.go","lineno":212,"abs_path":"/src/opbeans-go/api.go","function":"apiHandlers.getOrders","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":200,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"postgresql","transaction_id":"2993fbdd996911a1"}} +{"transaction":{"duration":16.855958,"id":"2993fbdd996911a1","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055560517363,"trace_id":"2993fbdd996911a1bb42088f6feb726a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":11.367624999999999,"id":"0d43c2eedbe76044","name":"connect","timestamp":1646055560523298,"trace_id":"aa72417d61f198cdec8cfdc3d084a9c2","type":"db","action":"connect","context":{"db":{"type":"sql","user":"postgres"}},"outcome":"success","parent_id":"aa72417d61f198cd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"driver.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/driver.go","function":"(*driverConnector).Connect","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"sql.go","lineno":1364,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).conn","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1695,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).query","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1674,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).QueryContext","library_frame":true,"module":"database/sql"},{"filename":"customers.go","lineno":60,"abs_path":"/src/opbeans-go/customers.go","function":"queryCustomers","module":"main"},{"filename":"customers.go","lineno":26,"abs_path":"/src/opbeans-go/customers.go","function":"getProductCustomers","module":"main"},{"filename":"api.go","lineno":145,"abs_path":"/src/opbeans-go/api.go","function":"apiHandlers.getProductCustomers","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":200,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"postgresql","transaction_id":"aa72417d61f198cd"}} +{"span":{"duration":14.431416,"id":"adf4612b6cccb41b","name":"SELECT FROM customers","timestamp":1646055560534746,"trace_id":"aa72417d61f198cdec8cfdc3d084a9c2","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"aa72417d61f198cd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"conn.go","lineno":119,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).finishSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"conn.go","lineno":139,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).QueryContext","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"ctxutil.go","lineno":48,"abs_path":"/usr/local/go/src/database/sql/ctxutil.go","function":"ctxDriverQuery","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1722,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC.func1","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":3396,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"withLock","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1717,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1700,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).query","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1674,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).QueryContext","library_frame":true,"module":"database/sql"},{"filename":"customers.go","lineno":60,"abs_path":"/src/opbeans-go/customers.go","function":"queryCustomers","module":"main"},{"filename":"customers.go","lineno":26,"abs_path":"/src/opbeans-go/customers.go","function":"getProductCustomers","module":"main"},{"filename":"api.go","lineno":145,"abs_path":"/src/opbeans-go/api.go","function":"apiHandlers.getProductCustomers","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":200,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"postgresql","transaction_id":"aa72417d61f198cd"}} +{"transaction":{"duration":32.191625,"id":"aa72417d61f198cd","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":2},"timestamp":1646055560523284,"trace_id":"aa72417d61f198cdec8cfdc3d084a9c2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=90","full":"http://opbeans-go:3000/api/products/5/customers?limit=90"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":44.806709,"id":"3853592cb9cdec2b","name":"Request","timestamp":1646055560576042,"trace_id":"94dfbc0ed1097dfa0005ff029c3e9cda","type":"external","action":"request","outcome":"success","parent_id":"166f032cfaef3abf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"94dfbc0ed1097dfa"}} +{"span":{"duration":0.15062499999999998,"id":"255105c40cb2334f","name":"Response","timestamp":1646055560620875,"trace_id":"94dfbc0ed1097dfa0005ff029c3e9cda","type":"external","action":"response","outcome":"success","parent_id":"166f032cfaef3abf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"94dfbc0ed1097dfa"}} +{"span":{"duration":45.004374999999996,"id":"166f032cfaef3abf","name":"GET opbeans-ruby:3000","timestamp":1646055560576023,"trace_id":"94dfbc0ed1097dfa0005ff029c3e9cda","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"94dfbc0ed1097dfa","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"94dfbc0ed1097dfa"}} +{"transaction":{"duration":45.177209000000005,"id":"94dfbc0ed1097dfa","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055560575953,"trace_id":"94dfbc0ed1097dfa0005ff029c3e9cda","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Cache-Control":"max-age=0, private, must-revalidate","Referrer-Policy":"strict-origin-when-cross-origin","X-Request-Id":"324936dd-49e0-4956-aa83-668cf7c56b86","X-Runtime":"0.027876","X-Content-Type-Options":"nosniff","X-Permitted-Cross-Domain-Policies":"none","Vary":"Accept","X-Frame-Options":"SAMEORIGIN","X-Xss-Protection":"1; mode=block","Content-Type":"application/json; charset=utf-8","Etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","X-Download-Options":"noopen"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.544458,"id":"7b9b8e0c34be2636","name":"SELECT FROM products","timestamp":1646055560639329,"trace_id":"b31fb322b564211ab41b4f31a7a13e60","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b31fb322b564211a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b31fb322b564211a"}} +{"transaction":{"duration":0.660125,"id":"b31fb322b564211a","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055560639300,"trace_id":"b31fb322b564211ab41b4f31a7a13e60","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.43091599999999997,"id":"1b156bc9b0ae7bd3","name":"DNS opbeans-node","timestamp":1646055560658860,"trace_id":"f51924d8404d97fa5504a5c9783fdc08","type":"external","action":"dns","outcome":"success","parent_id":"35fbba9a928cede6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f51924d8404d97fa"}} +{"span":{"duration":0.147125,"id":"acb211c8e69b8f05","name":"Connect 172.23.0.10:3000","timestamp":1646055560659296,"trace_id":"f51924d8404d97fa5504a5c9783fdc08","type":"external","action":"connect","outcome":"success","parent_id":"35fbba9a928cede6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f51924d8404d97fa"}} +{"span":{"duration":127.87299999999999,"id":"6c30b7b62b381746","name":"Request","timestamp":1646055560659454,"trace_id":"f51924d8404d97fa5504a5c9783fdc08","type":"external","action":"request","outcome":"success","parent_id":"35fbba9a928cede6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f51924d8404d97fa"}} +{"span":{"duration":0.141333,"id":"65daa0c2cad5e59f","name":"Response","timestamp":1646055560787351,"trace_id":"f51924d8404d97fa5504a5c9783fdc08","type":"external","action":"response","outcome":"success","parent_id":"35fbba9a928cede6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f51924d8404d97fa"}} +{"span":{"duration":128.708917,"id":"35fbba9a928cede6","name":"GET opbeans-node:3000","timestamp":1646055560658784,"trace_id":"f51924d8404d97fa5504a5c9783fdc08","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders/995","status_code":200}},"outcome":"success","parent_id":"f51924d8404d97fa","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f51924d8404d97fa"}} +{"transaction":{"duration":131.086125,"id":"f51924d8404d97fa","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055560658723,"trace_id":"f51924d8404d97fa5504a5c9783fdc08","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/995","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/995"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:39:20 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.374583,"id":"d4f3ac9a87ce0b62","name":"SELECT FROM customers","timestamp":1646055560807791,"trace_id":"fd8ba51c63967e01048cb98b4dfb21df","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"fd8ba51c63967e01","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"fd8ba51c63967e01"}} +{"transaction":{"duration":0.612959,"id":"fd8ba51c63967e01","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055560807743,"trace_id":"fd8ba51c63967e01048cb98b4dfb21df","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/828","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/828"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.462417,"id":"b596ce39d3bbb63e","name":"DNS opbeans-python","timestamp":1646055560827918,"trace_id":"367162e9cbb18642f1cc053280626b13","type":"external","action":"dns","outcome":"success","parent_id":"1a1df091704a9811","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"367162e9cbb18642"}} +{"span":{"duration":0.123166,"id":"f8c8fb90a45230ea","name":"Connect 172.23.0.11:3000","timestamp":1646055560828386,"trace_id":"367162e9cbb18642f1cc053280626b13","type":"external","action":"connect","outcome":"success","parent_id":"1a1df091704a9811","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"367162e9cbb18642"}} +{"span":{"duration":76.15683299999999,"id":"5794a7417e80ff72","name":"Request","timestamp":1646055560828524,"trace_id":"367162e9cbb18642f1cc053280626b13","type":"external","action":"request","outcome":"success","parent_id":"1a1df091704a9811","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"367162e9cbb18642"}} +{"span":{"duration":2.653292,"id":"628fe004c7837f91","name":"Response","timestamp":1646055560904722,"trace_id":"367162e9cbb18642f1cc053280626b13","type":"external","action":"response","outcome":"success","parent_id":"1a1df091704a9811","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"367162e9cbb18642"}} +{"span":{"duration":79.515792,"id":"1a1df091704a9811","name":"GET opbeans-python:3000","timestamp":1646055560827864,"trace_id":"367162e9cbb18642f1cc053280626b13","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/24","status_code":200}},"outcome":"success","parent_id":"367162e9cbb18642","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"367162e9cbb18642"}} +{"transaction":{"duration":80.097584,"id":"367162e9cbb18642","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055560827677,"trace_id":"367162e9cbb18642f1cc053280626b13","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/24","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/24"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:20 GMT","Referrer-Policy":"same-origin","Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"304","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.429208,"id":"a0be223fc6a42a98","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055560938878,"trace_id":"599f3eb160bfbc47e05d0b4b3e0e1cf1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept-Encoding":"gzip","User-Agent":"http.rb/5.0.4","Elastic-Apm-Traceparent":"00-599f3eb160bfbc47e05d0b4b3e0e1cf1-0d6957631cd91232-01","Traceparent":"00-599f3eb160bfbc47e05d0b4b3e0e1cf1-0d6957631cd91232-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.12"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"0d6957631cd91232","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.541333,"id":"cbce2b3a2ec74fbb","name":"Request","timestamp":1646055560938821,"trace_id":"599f3eb160bfbc47e05d0b4b3e0e1cf1","type":"external","action":"request","outcome":"success","parent_id":"0d6957631cd91232","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3de47292a8b6de11"}} +{"span":{"duration":0.022458000000000002,"id":"2d347c2643eb611c","name":"Response","timestamp":1646055560939364,"trace_id":"599f3eb160bfbc47e05d0b4b3e0e1cf1","type":"external","action":"response","outcome":"success","parent_id":"0d6957631cd91232","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3de47292a8b6de11"}} +{"span":{"duration":0.586167,"id":"0d6957631cd91232","name":"GET opbeans-go:3000","timestamp":1646055560938801,"trace_id":"599f3eb160bfbc47e05d0b4b3e0e1cf1","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"3de47292a8b6de11","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3de47292a8b6de11"}} +{"transaction":{"duration":0.907292,"id":"3de47292a8b6de11","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055560938505,"trace_id":"599f3eb160bfbc47e05d0b4b3e0e1cf1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-599f3eb160bfbc47e05d0b4b3e0e1cf1-23261c8c01744b72-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-599f3eb160bfbc47e05d0b4b3e0e1cf1-23261c8c01744b72-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Length":"110","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:20 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"23261c8c01744b72","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":20.107,"id":"16a46cb4b81048d2","name":"Request","timestamp":1646055560929123,"trace_id":"599f3eb160bfbc47e05d0b4b3e0e1cf1","type":"external","action":"request","outcome":"success","parent_id":"0b83083281b398b3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"599f3eb160bfbc47"}} +{"span":{"duration":0.128708,"id":"724111f2d82c2498","name":"Response","timestamp":1646055560949263,"trace_id":"599f3eb160bfbc47e05d0b4b3e0e1cf1","type":"external","action":"response","outcome":"success","parent_id":"0b83083281b398b3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"599f3eb160bfbc47"}} +{"span":{"duration":20.287625,"id":"0b83083281b398b3","name":"GET opbeans-ruby:3000","timestamp":1646055560929105,"trace_id":"599f3eb160bfbc47e05d0b4b3e0e1cf1","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"599f3eb160bfbc47","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"599f3eb160bfbc47"}} +{"transaction":{"duration":20.585584,"id":"599f3eb160bfbc47","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055560928906,"trace_id":"599f3eb160bfbc47e05d0b4b3e0e1cf1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.33525,"id":"1c3b6d056a267968","name":"SELECT FROM products","timestamp":1646055560969729,"trace_id":"5d3e09ad0c5b630afd25e421450067b6","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5d3e09ad0c5b630a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5d3e09ad0c5b630a"}} +{"transaction":{"duration":0.646042,"id":"5d3e09ad0c5b630a","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055560969706,"trace_id":"5d3e09ad0c5b630afd25e421450067b6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.329958,"id":"27219dc79039971c","name":"SELECT FROM customers","timestamp":1646055560989914,"trace_id":"fd2a95814376657f16308aca5be4c498","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d1a520390e22613b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d1a520390e22613b"}} +{"transaction":{"duration":0.40349999999999997,"id":"d1a520390e22613b","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055560989900,"trace_id":"fd2a95814376657f16308aca5be4c498","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/428","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/428"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-fd2a95814376657f16308aca5be4c498-91c9570b61cb28b3-01","Traceparent":"00-fd2a95814376657f16308aca5be4c498-91c9570b61cb28b3-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"91c9570b61cb28b3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5171250000000001,"id":"a43d7167be1d711d","name":"Request","timestamp":1646055560989842,"trace_id":"fd2a95814376657f16308aca5be4c498","type":"external","action":"request","outcome":"success","parent_id":"91c9570b61cb28b3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fd2a95814376657f"}} +{"span":{"duration":0.026209,"id":"2f8a37048a1c8d59","name":"Response","timestamp":1646055560990360,"trace_id":"fd2a95814376657f16308aca5be4c498","type":"external","action":"response","outcome":"success","parent_id":"91c9570b61cb28b3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fd2a95814376657f"}} +{"span":{"duration":0.567792,"id":"91c9570b61cb28b3","name":"GET opbeans-go:3000","timestamp":1646055560989819,"trace_id":"fd2a95814376657f16308aca5be4c498","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/428","status_code":200}},"outcome":"success","parent_id":"fd2a95814376657f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fd2a95814376657f"}} +{"transaction":{"duration":0.77425,"id":"fd2a95814376657f","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055560989644,"trace_id":"fd2a95814376657f16308aca5be4c498","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/428","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/428"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:20 GMT","Content-Length":"182","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.3022500000000001,"id":"c627e9f8b8e33c7d","name":"SELECT FROM products","timestamp":1646055561009747,"trace_id":"8b74366d32f004e7b0fd5ebef10cd74a","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8b74366d32f004e7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8b74366d32f004e7"}} +{"transaction":{"duration":1.468917,"id":"8b74366d32f004e7","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055561009729,"trace_id":"8b74366d32f004e7b0fd5ebef10cd74a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.263667,"id":"7ce2a0e84b3a3afb","name":"SELECT FROM customers","timestamp":1646055561029067,"trace_id":"bd6302c3c27bec06bd0a5820dcec2f41","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8c1d8d1ea369e640","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8c1d8d1ea369e640"}} +{"transaction":{"duration":0.338875,"id":"8c1d8d1ea369e640","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055561029052,"trace_id":"bd6302c3c27bec06bd0a5820dcec2f41","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/5955","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/5955"},"headers":{"Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-bd6302c3c27bec06bd0a5820dcec2f41-c1f511b38ab20b02-01","Traceparent":"00-bd6302c3c27bec06bd0a5820dcec2f41-c1f511b38ab20b02-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14, 172.23.0.9","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c1f511b38ab20b02","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.499625,"id":"6763cf879115038a","name":"Request","timestamp":1646055561028952,"trace_id":"bd6302c3c27bec06bd0a5820dcec2f41","type":"external","action":"request","outcome":"success","parent_id":"c1f511b38ab20b02","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3906cec43233eec2"}} +{"span":{"duration":0.017333,"id":"3630d067c0fe1ff4","name":"Response","timestamp":1646055561029452,"trace_id":"bd6302c3c27bec06bd0a5820dcec2f41","type":"external","action":"response","outcome":"success","parent_id":"c1f511b38ab20b02","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3906cec43233eec2"}} +{"span":{"duration":0.526542,"id":"c1f511b38ab20b02","name":"GET opbeans-go:3000","timestamp":1646055561028944,"trace_id":"bd6302c3c27bec06bd0a5820dcec2f41","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/5955","status_code":404}},"outcome":"failure","parent_id":"3906cec43233eec2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3906cec43233eec2"}} +{"transaction":{"duration":0.6350830000000001,"id":"3906cec43233eec2","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055561028860,"trace_id":"bd6302c3c27bec06bd0a5820dcec2f41","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/5955","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/5955"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-bd6302c3c27bec06bd0a5820dcec2f41-22885db38789fd4a-01","Traceparent":"00-bd6302c3c27bec06bd0a5820dcec2f41-22885db38789fd4a-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:21 GMT","Content-Length":"0"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"22885db38789fd4a","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.849208,"id":"f2df88c8c28ab829","name":"Request","timestamp":1646055561028803,"trace_id":"bd6302c3c27bec06bd0a5820dcec2f41","type":"external","action":"request","outcome":"success","parent_id":"22885db38789fd4a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bd6302c3c27bec06"}} +{"span":{"duration":0.01225,"id":"4fac5fe4910a7102","name":"Response","timestamp":1646055561029654,"trace_id":"bd6302c3c27bec06bd0a5820dcec2f41","type":"external","action":"response","outcome":"success","parent_id":"22885db38789fd4a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bd6302c3c27bec06"}} +{"span":{"duration":0.921417,"id":"22885db38789fd4a","name":"GET opbeans-go:3000","timestamp":1646055561028745,"trace_id":"bd6302c3c27bec06bd0a5820dcec2f41","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/5955","status_code":404}},"outcome":"failure","parent_id":"bd6302c3c27bec06","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bd6302c3c27bec06"}} +{"transaction":{"duration":1.029584,"id":"bd6302c3c27bec06","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055561028678,"trace_id":"bd6302c3c27bec06bd0a5820dcec2f41","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/5955","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/5955"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"0","Date":"Mon, 28 Feb 2022 13:39:21 GMT"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.438375,"id":"2f31ff12ea70c188","name":"SELECT FROM orders","timestamp":1646055561047367,"trace_id":"1e44e61e6b915079313635914cff9662","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1e44e61e6b915079","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1e44e61e6b915079"}} +{"span":{"duration":1.349375,"id":"9cb35fd69a80e8ba","name":"SELECT FROM products","timestamp":1646055561047837,"trace_id":"1e44e61e6b915079313635914cff9662","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1e44e61e6b915079","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1e44e61e6b915079"}} +{"transaction":{"duration":2.055209,"id":"1e44e61e6b915079","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055561047349,"trace_id":"1e44e61e6b915079313635914cff9662","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/985","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/985"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.295917,"id":"31c1424347422ea3","name":"DNS opbeans-node","timestamp":1646055561068089,"trace_id":"4b8bbdc2a812dab1cb345569c6bdfa06","type":"external","action":"dns","outcome":"success","parent_id":"aaa802e8011467ce","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4b8bbdc2a812dab1"}} +{"span":{"duration":0.1025,"id":"b1508e57ad1627e6","name":"Connect 172.23.0.10:3000","timestamp":1646055561068390,"trace_id":"4b8bbdc2a812dab1cb345569c6bdfa06","type":"external","action":"connect","outcome":"success","parent_id":"aaa802e8011467ce","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4b8bbdc2a812dab1"}} +{"span":{"duration":47.421334,"id":"e8bffa4da897009c","name":"Request","timestamp":1646055561068503,"trace_id":"4b8bbdc2a812dab1cb345569c6bdfa06","type":"external","action":"request","outcome":"success","parent_id":"aaa802e8011467ce","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4b8bbdc2a812dab1"}} +{"span":{"duration":0.102791,"id":"9b1031e10fafb22e","name":"Response","timestamp":1646055561115950,"trace_id":"4b8bbdc2a812dab1cb345569c6bdfa06","type":"external","action":"response","outcome":"success","parent_id":"aaa802e8011467ce","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4b8bbdc2a812dab1"}} +{"span":{"duration":48.233375,"id":"aaa802e8011467ce","name":"GET opbeans-node:3000","timestamp":1646055561067820,"trace_id":"4b8bbdc2a812dab1cb345569c6bdfa06","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"4b8bbdc2a812dab1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4b8bbdc2a812dab1"}} +{"transaction":{"duration":48.397291,"id":"4b8bbdc2a812dab1","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055561067764,"trace_id":"4b8bbdc2a812dab1cb345569c6bdfa06","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:39:21 GMT","X-Frame-Options":"DENY","Content-Length":"221","Referrer-Policy":"same-origin","X-Powered-By":"Express","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.49925,"id":"a62fd54597edfe2b","name":"DNS opbeans-node","timestamp":1646055561137520,"trace_id":"e4b449b99df757f5def0e251a39e2ec8","type":"external","action":"dns","outcome":"success","parent_id":"506f6756d0ac3677","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e4b449b99df757f5"}} +{"span":{"duration":0.07391700000000001,"id":"eb6e2fe8854ea0eb","name":"Connect 172.23.0.10:3000","timestamp":1646055561138026,"trace_id":"e4b449b99df757f5def0e251a39e2ec8","type":"external","action":"connect","outcome":"success","parent_id":"506f6756d0ac3677","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e4b449b99df757f5"}} +{"span":{"duration":37.04325,"id":"59b297b028ce76f3","name":"Request","timestamp":1646055561138109,"trace_id":"e4b449b99df757f5def0e251a39e2ec8","type":"external","action":"request","outcome":"success","parent_id":"506f6756d0ac3677","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e4b449b99df757f5"}} +{"span":{"duration":0.049416,"id":"0c6bef3483e3d764","name":"Response","timestamp":1646055561175177,"trace_id":"e4b449b99df757f5def0e251a39e2ec8","type":"external","action":"response","outcome":"success","parent_id":"506f6756d0ac3677","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e4b449b99df757f5"}} +{"span":{"duration":37.7535,"id":"506f6756d0ac3677","name":"GET opbeans-node:3000","timestamp":1646055561137473,"trace_id":"e4b449b99df757f5def0e251a39e2ec8","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/974","status_code":200}},"outcome":"success","parent_id":"e4b449b99df757f5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e4b449b99df757f5"}} +{"transaction":{"duration":37.941834,"id":"e4b449b99df757f5","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055561137414,"trace_id":"e4b449b99df757f5def0e251a39e2ec8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/974","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/974"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"196","Etag":"W/\"c4-/VcbUDizWngDv9C9BnTg38dfTu0\"","Date":"Mon, 28 Feb 2022 13:39:21 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":37.281542,"id":"38cd76cd6fe43f49","name":"Request","timestamp":1646055561194336,"trace_id":"8183c27439cdfd8c16cca9ab3c42016a","type":"external","action":"request","outcome":"success","parent_id":"9f785643fd15b985","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8183c27439cdfd8c"}} +{"span":{"duration":0.136875,"id":"81cb3da9ea2310c6","name":"Response","timestamp":1646055561231641,"trace_id":"8183c27439cdfd8c16cca9ab3c42016a","type":"external","action":"response","outcome":"success","parent_id":"9f785643fd15b985","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8183c27439cdfd8c"}} +{"span":{"duration":37.46025,"id":"9f785643fd15b985","name":"GET opbeans-ruby:3000","timestamp":1646055561194318,"trace_id":"8183c27439cdfd8c16cca9ab3c42016a","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products","status_code":200}},"outcome":"success","parent_id":"8183c27439cdfd8c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8183c27439cdfd8c"}} +{"transaction":{"duration":39.908458,"id":"8183c27439cdfd8c","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055561194115,"trace_id":"8183c27439cdfd8c16cca9ab3c42016a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"c8e963a2-fee2-47b4-a7dc-edf0cac6e1a6","Vary":"Accept","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","Content-Type":"application/json; charset=utf-8","Etag":"W/\"e7a2362bf423f315691b319c14409fa6\"","X-Runtime":"0.029512","X-Xss-Protection":"1; mode=block","Referrer-Policy":"strict-origin-when-cross-origin","X-Permitted-Cross-Domain-Policies":"none"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":60.45275,"id":"58fea71414a91e5f","name":"Request","timestamp":1646055561252694,"trace_id":"c6a9a7e0568834d5def03780f3adeb72","type":"external","action":"request","outcome":"success","parent_id":"18b7d76448a9fb9c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c6a9a7e0568834d5"}} +{"span":{"duration":3.0847919999999998,"id":"ebf47c026cfe94e3","name":"Response","timestamp":1646055561313177,"trace_id":"c6a9a7e0568834d5def03780f3adeb72","type":"external","action":"response","outcome":"success","parent_id":"18b7d76448a9fb9c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c6a9a7e0568834d5"}} +{"span":{"duration":63.593667,"id":"18b7d76448a9fb9c","name":"GET opbeans-ruby:3000","timestamp":1646055561252672,"trace_id":"c6a9a7e0568834d5def03780f3adeb72","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/5/customers","status_code":200}},"outcome":"success","parent_id":"c6a9a7e0568834d5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c6a9a7e0568834d5"}} +{"transaction":{"duration":63.96787499999999,"id":"c6a9a7e0568834d5","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055561252465,"trace_id":"c6a9a7e0568834d5def03780f3adeb72","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","X-Xss-Protection":"1; mode=block","X-Content-Type-Options":"nosniff","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin","X-Frame-Options":"SAMEORIGIN","X-Runtime":"0.051511","Content-Type":"application/json; charset=utf-8","Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"c1c4c14f-ab55-44be-8bb9-c7afa2aa5082","X-Download-Options":"noopen","Vary":"Accept"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":75.30408399999999,"id":"30960232c83e8929","name":"Request","timestamp":1646055561338071,"trace_id":"46b9c487b5cba0cc1eb496a4af1ae1ca","type":"external","action":"request","outcome":"success","parent_id":"546a08608a738a89","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"46b9c487b5cba0cc"}} +{"span":{"duration":0.06325,"id":"3a6f9908425e6aaf","name":"Response","timestamp":1646055561413405,"trace_id":"46b9c487b5cba0cc1eb496a4af1ae1ca","type":"external","action":"response","outcome":"success","parent_id":"546a08608a738a89","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"46b9c487b5cba0cc"}} +{"span":{"duration":75.418167,"id":"546a08608a738a89","name":"GET opbeans-node:3000","timestamp":1646055561338051,"trace_id":"46b9c487b5cba0cc1eb496a4af1ae1ca","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"46b9c487b5cba0cc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"46b9c487b5cba0cc"}} +{"transaction":{"duration":75.621916,"id":"46b9c487b5cba0cc","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055561337984,"trace_id":"46b9c487b5cba0cc1eb496a4af1ae1ca","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","Date":"Mon, 28 Feb 2022 13:39:21 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"944"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.581916,"id":"23ece07bffd866ae","name":"SELECT FROM products","timestamp":1646055561435289,"trace_id":"eb02a4bfcaeb31c8658a2d4a70fab2fa","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"eb02a4bfcaeb31c8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"eb02a4bfcaeb31c8"}} +{"transaction":{"duration":1.776458,"id":"eb02a4bfcaeb31c8","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055561435271,"trace_id":"eb02a4bfcaeb31c8658a2d4a70fab2fa","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.66325,"id":"702b8ec380ab50fb","name":"SELECT FROM products","timestamp":1646055561460396,"trace_id":"a10b70ff4b5e9b379f501340abcd52fc","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a10b70ff4b5e9b37","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a10b70ff4b5e9b37"}} +{"transaction":{"duration":1.0135420000000002,"id":"a10b70ff4b5e9b37","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055561460366,"trace_id":"a10b70ff4b5e9b379f501340abcd52fc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.678084,"id":"9f01d72481d82c41","name":"SELECT FROM customers","timestamp":1646055561483071,"trace_id":"381d1f55f2628a5db2503a407913778c","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"381d1f55f2628a5d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"381d1f55f2628a5d"}} +{"transaction":{"duration":5.699458999999999,"id":"381d1f55f2628a5d","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055561483050,"trace_id":"381d1f55f2628a5db2503a407913778c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":54.752250000000004,"id":"611ce506dc937ce7","name":"Request","timestamp":1646055561510260,"trace_id":"3733ad1dad5bf0eb6040ee66d2adc7a8","type":"external","action":"request","outcome":"success","parent_id":"3c58ac6baf68c68e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3ec08a92d8b00729"}} +{"span":{"duration":0.25083300000000003,"id":"3aec6de2dcf4e3b3","name":"Response","timestamp":1646055561565141,"trace_id":"3733ad1dad5bf0eb6040ee66d2adc7a8","type":"external","action":"response","outcome":"success","parent_id":"3c58ac6baf68c68e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3ec08a92d8b00729"}} +{"span":{"duration":55.140958,"id":"3c58ac6baf68c68e","name":"GET opbeans-node:3000","timestamp":1646055561510253,"trace_id":"3733ad1dad5bf0eb6040ee66d2adc7a8","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/8186","status_code":404}},"outcome":"failure","parent_id":"3ec08a92d8b00729","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3ec08a92d8b00729"}} +{"transaction":{"duration":55.751667,"id":"3ec08a92d8b00729","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055561510172,"trace_id":"3733ad1dad5bf0eb6040ee66d2adc7a8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/8186","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/8186"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-3733ad1dad5bf0eb6040ee66d2adc7a8-a53d8c0d6d23d5ae-01","Traceparent":"00-3733ad1dad5bf0eb6040ee66d2adc7a8-a53d8c0d6d23d5ae-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Length":"0","X-Powered-By":"Express","Date":"Mon, 28 Feb 2022 13:39:21 GMT"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a53d8c0d6d23d5ae","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":56.075583,"id":"d8b5ba413a1ccf80","name":"Request","timestamp":1646055561510111,"trace_id":"3733ad1dad5bf0eb6040ee66d2adc7a8","type":"external","action":"request","outcome":"success","parent_id":"a53d8c0d6d23d5ae","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3733ad1dad5bf0eb"}} +{"span":{"duration":0.019208999999999997,"id":"b52472348ee4687e","name":"Response","timestamp":1646055561566194,"trace_id":"3733ad1dad5bf0eb6040ee66d2adc7a8","type":"external","action":"response","outcome":"success","parent_id":"a53d8c0d6d23d5ae","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3733ad1dad5bf0eb"}} +{"span":{"duration":56.122209,"id":"a53d8c0d6d23d5ae","name":"GET opbeans-go:3000","timestamp":1646055561510092,"trace_id":"3733ad1dad5bf0eb6040ee66d2adc7a8","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/8186","status_code":404}},"outcome":"failure","parent_id":"3733ad1dad5bf0eb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3733ad1dad5bf0eb"}} +{"transaction":{"duration":56.350875,"id":"3733ad1dad5bf0eb","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055561509992,"trace_id":"3733ad1dad5bf0eb6040ee66d2adc7a8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/8186","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/8186"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Length":"0","Date":"Mon, 28 Feb 2022 13:39:21 GMT"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.7062499999999999,"id":"97e9302dbb9380d2","name":"SELECT FROM product_types","timestamp":1646055561591764,"trace_id":"5a87ddb98cf47f7041bf499775be2330","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"62bcad74ec326193","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"62bcad74ec326193"}} +{"transaction":{"duration":1.037792,"id":"62bcad74ec326193","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055561591747,"trace_id":"5a87ddb98cf47f7041bf499775be2330","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-5a87ddb98cf47f7041bf499775be2330-b7c148f428dc289c-01","Traceparent":"00-5a87ddb98cf47f7041bf499775be2330-b7c148f428dc289c-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b7c148f428dc289c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.234459,"id":"6dd98a95d5a96e44","name":"Request","timestamp":1646055561591648,"trace_id":"5a87ddb98cf47f7041bf499775be2330","type":"external","action":"request","outcome":"success","parent_id":"b7c148f428dc289c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5a87ddb98cf47f70"}} +{"span":{"duration":0.0295,"id":"0d02d7b525a46bb8","name":"Response","timestamp":1646055561592884,"trace_id":"5a87ddb98cf47f7041bf499775be2330","type":"external","action":"response","outcome":"success","parent_id":"b7c148f428dc289c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5a87ddb98cf47f70"}} +{"span":{"duration":1.295833,"id":"b7c148f428dc289c","name":"GET opbeans-go:3000","timestamp":1646055561591618,"trace_id":"5a87ddb98cf47f7041bf499775be2330","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types/1","status_code":200}},"outcome":"success","parent_id":"5a87ddb98cf47f70","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5a87ddb98cf47f70"}} +{"transaction":{"duration":1.687291,"id":"5a87ddb98cf47f70","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055561591308,"trace_id":"5a87ddb98cf47f7041bf499775be2330","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:21 GMT","Content-Length":"36"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.584333,"id":"0ccdbd69c32feee1","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055561611651,"trace_id":"0ccdbd69c32feee10b29db8a2229cd0b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.445458,"id":"1cf1f74b0ab36397","name":"DNS opbeans-python","timestamp":1646055561637925,"trace_id":"3debc7444cde99e9c75414cc21d94fdb","type":"external","action":"dns","outcome":"success","parent_id":"3412a75a8719b678","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3debc7444cde99e9"}} +{"span":{"duration":0.242916,"id":"143161be0bf2f5d1","name":"Connect 172.23.0.11:3000","timestamp":1646055561639380,"trace_id":"3debc7444cde99e9c75414cc21d94fdb","type":"external","action":"connect","outcome":"success","parent_id":"3412a75a8719b678","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3debc7444cde99e9"}} +{"span":{"duration":1.288708,"id":"97b21b98620b96b3","name":"SELECT FROM product_types","timestamp":1646055561753011,"trace_id":"3debc7444cde99e9c75414cc21d94fdb","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"df58c021a0aa55a8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"df58c021a0aa55a8"}} +{"transaction":{"duration":1.4687089999999998,"id":"df58c021a0aa55a8","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055561752970,"trace_id":"3debc7444cde99e9c75414cc21d94fdb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Traceparent":"00-3debc7444cde99e9c75414cc21d94fdb-d2c67cad44450b3b-01","Elastic-Apm-Traceparent":"00-3debc7444cde99e9c75414cc21d94fdb-d2c67cad44450b3b-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d2c67cad44450b3b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":157.575208,"id":"e65aa348ce42c61e","name":"Request","timestamp":1646055561639643,"trace_id":"3debc7444cde99e9c75414cc21d94fdb","type":"external","action":"request","outcome":"success","parent_id":"3412a75a8719b678","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3debc7444cde99e9"}} +{"span":{"duration":0.107416,"id":"c229cb0218c1a403","name":"Response","timestamp":1646055561797251,"trace_id":"3debc7444cde99e9c75414cc21d94fdb","type":"external","action":"response","outcome":"success","parent_id":"3412a75a8719b678","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3debc7444cde99e9"}} +{"span":{"duration":159.498875,"id":"3412a75a8719b678","name":"GET opbeans-python:3000","timestamp":1646055561637861,"trace_id":"3debc7444cde99e9c75414cc21d94fdb","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"3debc7444cde99e9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3debc7444cde99e9"}} +{"transaction":{"duration":159.882125,"id":"3debc7444cde99e9","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055561637603,"trace_id":"3debc7444cde99e9c75414cc21d94fdb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:21 GMT","Vary":"Cookie","X-Content-Type-Options":"nosniff","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Content-Length":"112","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.363084,"id":"8ab719b71a440c0b","name":"SELECT FROM products","timestamp":1646055561819118,"trace_id":"238a57139fbb50b74e92a7b9775d7155","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"238a57139fbb50b7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"238a57139fbb50b7"}} +{"transaction":{"duration":0.555458,"id":"238a57139fbb50b7","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055561819099,"trace_id":"238a57139fbb50b74e92a7b9775d7155","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.411,"id":"574775ffdec7fda6","name":"DNS opbeans-python","timestamp":1646055561838191,"trace_id":"f80a04d089410b786e696565a368946f","type":"external","action":"dns","outcome":"success","parent_id":"f5c234bb24a41d23","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f80a04d089410b78"}} +{"span":{"duration":0.158083,"id":"84b745549821a483","name":"Connect 172.23.0.11:3000","timestamp":1646055561841615,"trace_id":"f80a04d089410b786e696565a368946f","type":"external","action":"connect","outcome":"success","parent_id":"f5c234bb24a41d23","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f80a04d089410b78"}} +{"span":{"duration":106.648417,"id":"c46f56556bb56e16","name":"Request","timestamp":1646055561841798,"trace_id":"f80a04d089410b786e696565a368946f","type":"external","action":"request","outcome":"success","parent_id":"f5c234bb24a41d23","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f80a04d089410b78"}} +{"span":{"duration":4.002999999999999,"id":"89de9b25ae2d270f","name":"Response","timestamp":1646055561948472,"trace_id":"f80a04d089410b786e696565a368946f","type":"external","action":"response","outcome":"success","parent_id":"f5c234bb24a41d23","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f80a04d089410b78"}} +{"span":{"duration":114.33225,"id":"f5c234bb24a41d23","name":"GET opbeans-python:3000","timestamp":1646055561838145,"trace_id":"f80a04d089410b786e696565a368946f","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"f80a04d089410b78","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f80a04d089410b78"}} +{"transaction":{"duration":114.641875,"id":"f80a04d089410b78","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055561838067,"trace_id":"f80a04d089410b786e696565a368946f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:21 GMT","X-Frame-Options":"DENY","Referrer-Policy":"same-origin","Content-Type":"application/json","Content-Length":"123"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.16804100000000002,"id":"d37d6c5b6adf5a66","name":"SELECT FROM product_types","timestamp":1646055561970936,"trace_id":"507b29686876684187c7211bb5feeb37","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"507b296868766841","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"507b296868766841"}} +{"transaction":{"duration":0.416416,"id":"507b296868766841","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055561970919,"trace_id":"507b29686876684187c7211bb5feeb37","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.26504099999999997,"id":"bade57cfc966ad7c","name":"DNS opbeans-python","timestamp":1646055561989877,"trace_id":"dab7968448683f57ee555f6a9a692802","type":"external","action":"dns","outcome":"success","parent_id":"d38723a27a5cea0f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"eace0ec526c9b15c"}} +{"span":{"duration":0.10258300000000001,"id":"fef5d11b9f705d27","name":"Connect 172.23.0.11:3000","timestamp":1646055561990148,"trace_id":"dab7968448683f57ee555f6a9a692802","type":"external","action":"connect","outcome":"success","parent_id":"d38723a27a5cea0f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"eace0ec526c9b15c"}} +{"transaction":{"duration":0.902958,"id":"bb7d820018fea4ec","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055562014412,"trace_id":"dab7968448683f57ee555f6a9a692802","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-dab7968448683f57ee555f6a9a692802-1da8a30683d29a54-01","Elastic-Apm-Traceparent":"00-dab7968448683f57ee555f6a9a692802-1da8a30683d29a54-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"1da8a30683d29a54","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":39.185209,"id":"47437ea154e6e07f","name":"Request","timestamp":1646055561990259,"trace_id":"dab7968448683f57ee555f6a9a692802","type":"external","action":"request","outcome":"success","parent_id":"d38723a27a5cea0f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"eace0ec526c9b15c"}} +{"span":{"duration":0.823167,"id":"ca21bbad3c1b0822","name":"Response","timestamp":1646055562029483,"trace_id":"dab7968448683f57ee555f6a9a692802","type":"external","action":"response","outcome":"success","parent_id":"d38723a27a5cea0f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"eace0ec526c9b15c"}} +{"span":{"duration":40.466333,"id":"d38723a27a5cea0f","name":"GET opbeans-python:3000","timestamp":1646055561989846,"trace_id":"dab7968448683f57ee555f6a9a692802","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"eace0ec526c9b15c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"eace0ec526c9b15c"}} +{"transaction":{"duration":41.566376000000005,"id":"eace0ec526c9b15c","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055561989821,"trace_id":"dab7968448683f57ee555f6a9a692802","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-dab7968448683f57ee555f6a9a692802-36eef1cfebf296b4-01","Traceparent":"00-dab7968448683f57ee555f6a9a692802-36eef1cfebf296b4-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14, 172.23.0.9"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"110","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:22 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"36eef1cfebf296b4","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":41.916957999999994,"id":"af6488021d8e2d2a","name":"Request","timestamp":1646055561989729,"trace_id":"dab7968448683f57ee555f6a9a692802","type":"external","action":"request","outcome":"success","parent_id":"36eef1cfebf296b4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5cb22199e70eaace"}} +{"span":{"duration":0.06162499999999999,"id":"1396a6be1d0ca257","name":"Response","timestamp":1646055562031662,"trace_id":"dab7968448683f57ee555f6a9a692802","type":"external","action":"response","outcome":"success","parent_id":"36eef1cfebf296b4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5cb22199e70eaace"}} +{"span":{"duration":42.0015,"id":"36eef1cfebf296b4","name":"GET opbeans-go:3000","timestamp":1646055561989723,"trace_id":"dab7968448683f57ee555f6a9a692802","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"5cb22199e70eaace","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5cb22199e70eaace"}} +{"transaction":{"duration":42.626709,"id":"5cb22199e70eaace","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055561989702,"trace_id":"dab7968448683f57ee555f6a9a692802","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Traceparent":"00-dab7968448683f57ee555f6a9a692802-cd185e61b1db8ad8-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-dab7968448683f57ee555f6a9a692802-cd185e61b1db8ad8-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"110","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:22 GMT","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"cd185e61b1db8ad8","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":43.157209,"id":"947a7c730fbed13a","name":"Request","timestamp":1646055561989628,"trace_id":"dab7968448683f57ee555f6a9a692802","type":"external","action":"request","outcome":"success","parent_id":"cd185e61b1db8ad8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dab7968448683f57"}} +{"span":{"duration":0.06708299999999999,"id":"b675cbbb376b720f","name":"Response","timestamp":1646055562032797,"trace_id":"dab7968448683f57ee555f6a9a692802","type":"external","action":"response","outcome":"success","parent_id":"cd185e61b1db8ad8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dab7968448683f57"}} +{"span":{"duration":43.269792,"id":"cd185e61b1db8ad8","name":"GET opbeans-go:3000","timestamp":1646055561989595,"trace_id":"dab7968448683f57ee555f6a9a692802","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"dab7968448683f57","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dab7968448683f57"}} +{"transaction":{"duration":43.982958,"id":"dab7968448683f57","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055561989474,"trace_id":"dab7968448683f57ee555f6a9a692802","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","Content-Length":"110","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:22 GMT","Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":7.6267499999999995,"id":"0fad23f4a1e21bde","name":"SELECT FROM products","timestamp":1646055562057889,"trace_id":"f814910c1e17a84c6a1b674b399e9395","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f814910c1e17a84c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"conn.go","lineno":119,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).finishSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"conn.go","lineno":139,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).QueryContext","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"ctxutil.go","lineno":48,"abs_path":"/usr/local/go/src/database/sql/ctxutil.go","function":"ctxDriverQuery","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1722,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC.func1","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":3396,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"withLock","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1717,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1700,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).query","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1674,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).QueryContext","library_frame":true,"module":"database/sql"},{"filename":"products.go","lineno":79,"abs_path":"/src/opbeans-go/products.go","function":"queryProducts","module":"main"},{"filename":"products.go","lineno":59,"abs_path":"/src/opbeans-go/products.go","function":"getProduct","module":"main"},{"filename":"api.go","lineno":118,"abs_path":"/src/opbeans-go/api.go","function":"apiHandlers.getProductDetails","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":200,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"postgresql","transaction_id":"f814910c1e17a84c"}} +{"transaction":{"duration":8.011417,"id":"f814910c1e17a84c","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055562057858,"trace_id":"f814910c1e17a84c6a1b674b399e9395","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5860000000000001,"id":"57e144b14e90c7c3","name":"SELECT FROM customers","timestamp":1646055562086267,"trace_id":"503e29a6c7fabbf784b3cdd87b15d7ff","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"503e29a6c7fabbf7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"503e29a6c7fabbf7"}} +{"transaction":{"duration":0.817583,"id":"503e29a6c7fabbf7","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055562086240,"trace_id":"503e29a6c7fabbf784b3cdd87b15d7ff","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/435","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/435"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6775,"id":"b02e8c7ef9fac3bb","name":"SELECT FROM products","timestamp":1646055562110848,"trace_id":"30f33d87c50918c602cbba07be8e07df","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"30f33d87c50918c6","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"30f33d87c50918c6"}} +{"transaction":{"duration":1.093291,"id":"30f33d87c50918c6","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055562110813,"trace_id":"30f33d87c50918c602cbba07be8e07df","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.4246250000000003,"id":"77e6bfd068f8bf86","name":"SELECT FROM customers","timestamp":1646055562135864,"trace_id":"4cdbffc1e9ba453b3b2b1f20d520894a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4cdbffc1e9ba453b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4cdbffc1e9ba453b"}} +{"transaction":{"duration":5.210542,"id":"4cdbffc1e9ba453b","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055562135821,"trace_id":"4cdbffc1e9ba453b3b2b1f20d520894a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.211084,"id":"fb457edfad061c86","name":"SELECT FROM customers","timestamp":1646055562164643,"trace_id":"456bd03ca1719ef3381f1f824bc3ebd7","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"456bd03ca1719ef3","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"456bd03ca1719ef3"}} +{"transaction":{"duration":1.366833,"id":"456bd03ca1719ef3","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055562164622,"trace_id":"456bd03ca1719ef3381f1f824bc3ebd7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/499","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/499"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.519791,"id":"763b1b72da2ce9d9","name":"SELECT FROM customers","timestamp":1646055562188344,"trace_id":"043a2974e29b4fdbc201064150f1ac42","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"043a2974e29b4fdb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"043a2974e29b4fdb"}} +{"span":{"duration":0.128875,"id":"e704ac23850e9b75","name":"INSERT INTO order_lines","timestamp":1646055562189027,"trace_id":"043a2974e29b4fdbc201064150f1ac42","type":"db","action":"prepare","context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"043a2974e29b4fdb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"043a2974e29b4fdb"}} +{"span":{"duration":1.652542,"id":"706bb5e393478577","name":"INSERT INTO orders","timestamp":1646055562189160,"trace_id":"043a2974e29b4fdbc201064150f1ac42","type":"db","action":"query","context":{"db":{"statement":"INSERT INTO orders (customer_id) VALUES ($1) RETURNING id","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"043a2974e29b4fdb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"043a2974e29b4fdb"}} +{"span":{"duration":0.272208,"id":"5d2bedc3332ab142","name":"INSERT INTO order_lines","timestamp":1646055562190849,"trace_id":"043a2974e29b4fdbc201064150f1ac42","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"043a2974e29b4fdb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"043a2974e29b4fdb"}} +{"span":{"duration":0.13695800000000002,"id":"6f26002346db1c2f","name":"INSERT INTO order_lines","timestamp":1646055562191125,"trace_id":"043a2974e29b4fdbc201064150f1ac42","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"043a2974e29b4fdb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"043a2974e29b4fdb"}} +{"span":{"duration":0.148292,"id":"c50feaa07160447d","name":"INSERT INTO order_lines","timestamp":1646055562191265,"trace_id":"043a2974e29b4fdbc201064150f1ac42","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"043a2974e29b4fdb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"043a2974e29b4fdb"}} +{"span":{"duration":0.3155,"id":"6e35a6366655a2c3","name":"INSERT INTO order_lines","timestamp":1646055562191416,"trace_id":"043a2974e29b4fdbc201064150f1ac42","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"043a2974e29b4fdb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"043a2974e29b4fdb"}} +{"span":{"duration":0.108542,"id":"be31a07a32a14f4b","name":"INSERT INTO order_lines","timestamp":1646055562191734,"trace_id":"043a2974e29b4fdbc201064150f1ac42","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"043a2974e29b4fdb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"043a2974e29b4fdb"}} +{"transaction":{"duration":5.1550839999999996,"id":"043a2974e29b4fdb","name":"POST /api/orders/csv","span_count":{"dropped":0,"started":8},"timestamp":1646055562187724,"trace_id":"043a2974e29b4fdbc201064150f1ac42","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders/csv","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/csv"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"388","Content-Type":"multipart/form-data; boundary=660137b9f4414c61af7f2e3d8418221a","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"customer_name":"Johnny Greene","customer_email":"jgreenem2@boston.com"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.19824999999999998,"id":"12de0624088c84b9","name":"SELECT FROM product_types","timestamp":1646055562211145,"trace_id":"1f66fa5f56f82578fdec2c46756f9ad4","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1f66fa5f56f82578","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1f66fa5f56f82578"}} +{"transaction":{"duration":0.392416,"id":"1f66fa5f56f82578","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055562211130,"trace_id":"1f66fa5f56f82578fdec2c46756f9ad4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.397917,"id":"74c89a41f373b99e","name":"SELECT FROM orders","timestamp":1646055562230051,"trace_id":"5ee18a17f7dac5fb0ea3f2357d4d2ff8","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5ee18a17f7dac5fb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5ee18a17f7dac5fb"}} +{"transaction":{"duration":2.362875,"id":"5ee18a17f7dac5fb","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055562230033,"trace_id":"5ee18a17f7dac5fb0ea3f2357d4d2ff8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.525084,"id":"e2a3b6551b7c13df","name":"SELECT FROM products","timestamp":1646055562252504,"trace_id":"30a29e76b5f74172202f13c216a404d0","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"30a29e76b5f74172","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"30a29e76b5f74172"}} +{"transaction":{"duration":0.7414999999999999,"id":"30a29e76b5f74172","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055562252482,"trace_id":"30a29e76b5f74172202f13c216a404d0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.342667,"id":"458e351457383d0f","name":"SELECT FROM product_types","timestamp":1646055562270226,"trace_id":"e2176d19e979915bb6c2eebc145cf5c6","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b41e73edbc6b9bdd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b41e73edbc6b9bdd"}} +{"transaction":{"duration":3.443875,"id":"b41e73edbc6b9bdd","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055562270216,"trace_id":"e2176d19e979915bb6c2eebc145cf5c6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-e2176d19e979915bb6c2eebc145cf5c6-71c16f1f288d778f-01","Traceparent":"00-e2176d19e979915bb6c2eebc145cf5c6-71c16f1f288d778f-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"71c16f1f288d778f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.587458,"id":"4b8255795a9a89c0","name":"Request","timestamp":1646055562270143,"trace_id":"e2176d19e979915bb6c2eebc145cf5c6","type":"external","action":"request","outcome":"success","parent_id":"71c16f1f288d778f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e2176d19e979915b"}} +{"span":{"duration":0.020375,"id":"78b639754cef597e","name":"Response","timestamp":1646055562273732,"trace_id":"e2176d19e979915bb6c2eebc145cf5c6","type":"external","action":"response","outcome":"success","parent_id":"71c16f1f288d778f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e2176d19e979915b"}} +{"span":{"duration":3.628125,"id":"71c16f1f288d778f","name":"GET opbeans-go:3000","timestamp":1646055562270124,"trace_id":"e2176d19e979915bb6c2eebc145cf5c6","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types","status_code":200}},"outcome":"success","parent_id":"e2176d19e979915b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e2176d19e979915b"}} +{"transaction":{"duration":3.723584,"id":"e2176d19e979915b","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055562270055,"trace_id":"e2176d19e979915bb6c2eebc145cf5c6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:22 GMT","Content-Length":"112"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":23.865625,"id":"d3c31302d36f5350","name":"Request","timestamp":1646055562291405,"trace_id":"fcfa8650acb5081a0dd04a83a25b0a41","type":"external","action":"request","outcome":"success","parent_id":"806689d33dbab1dc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fcfa8650acb5081a"}} +{"span":{"duration":0.045375,"id":"01ad294a6914e621","name":"Response","timestamp":1646055562315296,"trace_id":"fcfa8650acb5081a0dd04a83a25b0a41","type":"external","action":"response","outcome":"success","parent_id":"806689d33dbab1dc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fcfa8650acb5081a"}} +{"span":{"duration":23.958208000000003,"id":"806689d33dbab1dc","name":"GET opbeans-node:3000","timestamp":1646055562291384,"trace_id":"fcfa8650acb5081a0dd04a83a25b0a41","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"fcfa8650acb5081a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fcfa8650acb5081a"}} +{"transaction":{"duration":24.257625,"id":"fcfa8650acb5081a","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055562291173,"trace_id":"fcfa8650acb5081a0dd04a83a25b0a41","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"275","Etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","Date":"Mon, 28 Feb 2022 13:39:22 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.4355,"id":"4bd7e7d02a05d04d","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055562333236,"trace_id":"4bd7e7d02a05d04d7085a3717aedfda7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.49854200000000004,"id":"301f798368c39c3a","name":"DNS opbeans-python","timestamp":1646055562351369,"trace_id":"84f4884c8b398c5edc27cfae8d81e56e","type":"external","action":"dns","outcome":"success","parent_id":"431732504bfebc59","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"84f4884c8b398c5e"}} +{"span":{"duration":0.19375,"id":"faa32f5ab1f61a8a","name":"Connect 172.23.0.11:3000","timestamp":1646055562351873,"trace_id":"84f4884c8b398c5edc27cfae8d81e56e","type":"external","action":"connect","outcome":"success","parent_id":"431732504bfebc59","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"84f4884c8b398c5e"}} +{"span":{"duration":0.21525,"id":"f04a1d596339d536","name":"SELECT FROM product_types","timestamp":1646055562366960,"trace_id":"84f4884c8b398c5edc27cfae8d81e56e","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"50753469e689e92e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"50753469e689e92e"}} +{"transaction":{"duration":0.31229199999999996,"id":"50753469e689e92e","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055562366945,"trace_id":"84f4884c8b398c5edc27cfae8d81e56e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Elastic-Apm-Traceparent":"00-84f4884c8b398c5edc27cfae8d81e56e-715fb282b03ebfe6-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-84f4884c8b398c5edc27cfae8d81e56e-715fb282b03ebfe6-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"715fb282b03ebfe6","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":22.920375,"id":"6bd89dadae9af6b4","name":"Request","timestamp":1646055562352079,"trace_id":"84f4884c8b398c5edc27cfae8d81e56e","type":"external","action":"request","outcome":"success","parent_id":"431732504bfebc59","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"84f4884c8b398c5e"}} +{"span":{"duration":0.214708,"id":"b88f9d9225779524","name":"Response","timestamp":1646055562375032,"trace_id":"84f4884c8b398c5edc27cfae8d81e56e","type":"external","action":"response","outcome":"success","parent_id":"431732504bfebc59","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"84f4884c8b398c5e"}} +{"span":{"duration":23.934209000000003,"id":"431732504bfebc59","name":"GET opbeans-python:3000","timestamp":1646055562351313,"trace_id":"84f4884c8b398c5edc27cfae8d81e56e","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"84f4884c8b398c5e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"84f4884c8b398c5e"}} +{"transaction":{"duration":24.247333,"id":"84f4884c8b398c5e","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055562351099,"trace_id":"84f4884c8b398c5edc27cfae8d81e56e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Content-Type":"application/json; charset=utf-8","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:22 GMT","X-Frame-Options":"DENY","Content-Length":"112"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":79.306875,"id":"3e5cfe1e1d3955c4","name":"Request","timestamp":1646055562447495,"trace_id":"261e64bbb3838a6126feb766932673da","type":"external","action":"request","outcome":"success","parent_id":"f0acb534ea85c751","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"92c7ae2789c45de7"}} +{"span":{"duration":0.1285,"id":"e84c9cc93f6d95a0","name":"Response","timestamp":1646055562526835,"trace_id":"261e64bbb3838a6126feb766932673da","type":"external","action":"response","outcome":"success","parent_id":"f0acb534ea85c751","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"92c7ae2789c45de7"}} +{"span":{"duration":79.497125,"id":"f0acb534ea85c751","name":"GET opbeans-ruby:3000","timestamp":1646055562447468,"trace_id":"261e64bbb3838a6126feb766932673da","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"92c7ae2789c45de7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"92c7ae2789c45de7"}} +{"transaction":{"duration":79.909708,"id":"92c7ae2789c45de7","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055562447206,"trace_id":"261e64bbb3838a6126feb766932673da","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-261e64bbb3838a6126feb766932673da-18c1f1b2a36c3a19-01","Elastic-Apm-Traceparent":"00-261e64bbb3838a6126feb766932673da-18c1f1b2a36c3a19-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"18c1f1b2a36c3a19","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":156.70066699999998,"id":"ff1533aa9a19cf03","name":"Request","timestamp":1646055562396385,"trace_id":"261e64bbb3838a6126feb766932673da","type":"external","action":"request","outcome":"success","parent_id":"62e9c0b59b971e7e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b856e7fa6a4dcccc"}} +{"span":{"duration":0.167584,"id":"d7a480894a3a9cf1","name":"Response","timestamp":1646055562553110,"trace_id":"261e64bbb3838a6126feb766932673da","type":"external","action":"response","outcome":"success","parent_id":"62e9c0b59b971e7e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b856e7fa6a4dcccc"}} +{"span":{"duration":156.90379199999998,"id":"62e9c0b59b971e7e","name":"GET opbeans-node:3000","timestamp":1646055562396374,"trace_id":"261e64bbb3838a6126feb766932673da","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"b856e7fa6a4dcccc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b856e7fa6a4dcccc"}} +{"span":{"duration":157.443,"id":"1b0daebb07e12c04","name":"Request","timestamp":1646055562395982,"trace_id":"261e64bbb3838a6126feb766932673da","type":"external","action":"request","outcome":"success","parent_id":"bd426afaecb0ae29","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"261e64bbb3838a61"}} +{"transaction":{"duration":157.36979200000002,"id":"b856e7fa6a4dcccc","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055562396149,"trace_id":"261e64bbb3838a6126feb766932673da","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-261e64bbb3838a6126feb766932673da-bd426afaecb0ae29-01","Traceparent":"00-261e64bbb3838a6126feb766932673da-bd426afaecb0ae29-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:39:22 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"bd426afaecb0ae29","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.228833,"id":"ac3efa0fb90a7bf5","name":"Response","timestamp":1646055562553430,"trace_id":"261e64bbb3838a6126feb766932673da","type":"external","action":"response","outcome":"success","parent_id":"bd426afaecb0ae29","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"261e64bbb3838a61"}} +{"span":{"duration":157.70325,"id":"bd426afaecb0ae29","name":"GET opbeans-go:3000","timestamp":1646055562395957,"trace_id":"261e64bbb3838a6126feb766932673da","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"261e64bbb3838a61","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"261e64bbb3838a61"}} +{"transaction":{"duration":160.273875,"id":"261e64bbb3838a61","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055562395363,"trace_id":"261e64bbb3838a6126feb766932673da","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:39:22 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.69525,"id":"f41a09cf8721d161","name":"DNS opbeans-node","timestamp":1646055562573118,"trace_id":"ed0e3c4e98e155548b18445df38f2981","type":"external","action":"dns","outcome":"success","parent_id":"25a309e683d52b25","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ed0e3c4e98e15554"}} +{"span":{"duration":0.113041,"id":"29e73ef251ca2690","name":"Connect 172.23.0.10:3000","timestamp":1646055562573820,"trace_id":"ed0e3c4e98e155548b18445df38f2981","type":"external","action":"connect","outcome":"success","parent_id":"25a309e683d52b25","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ed0e3c4e98e15554"}} +{"span":{"duration":60.245374999999996,"id":"33f70bdc959c024e","name":"Request","timestamp":1646055562601837,"trace_id":"ed0e3c4e98e155548b18445df38f2981","type":"external","action":"request","outcome":"success","parent_id":"3e2d91df150efddf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b5c2126e25f7931c"}} +{"span":{"duration":60.814792,"id":"3a0820d793291abd","name":"Request","timestamp":1646055562601514,"trace_id":"ed0e3c4e98e155548b18445df38f2981","type":"external","action":"request","outcome":"success","parent_id":"4a614c6ab1d2eb03","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6a70509d3387c65c"}} +{"span":{"duration":1.144417,"id":"05529b9612c40f5f","name":"Response","timestamp":1646055562662115,"trace_id":"ed0e3c4e98e155548b18445df38f2981","type":"external","action":"response","outcome":"success","parent_id":"3e2d91df150efddf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b5c2126e25f7931c"}} +{"span":{"duration":61.438667,"id":"3e2d91df150efddf","name":"GET opbeans-ruby:3000","timestamp":1646055562601822,"trace_id":"ed0e3c4e98e155548b18445df38f2981","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products","status_code":200}},"outcome":"success","parent_id":"b5c2126e25f7931c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b5c2126e25f7931c"}} +{"transaction":{"duration":61.66825,"id":"b5c2126e25f7931c","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055562601730,"trace_id":"ed0e3c4e98e155548b18445df38f2981","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"X-Forwarded-For":"172.23.0.10","Accept-Encoding":"gzip","Elastic-Apm-Traceparent":"00-ed0e3c4e98e155548b18445df38f2981-4a614c6ab1d2eb03-01","Traceparent":"00-ed0e3c4e98e155548b18445df38f2981-4a614c6ab1d2eb03-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Etag":"W/\"e7a2362bf423f315691b319c14409fa6\"","X-Content-Type-Options":"nosniff","Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"abea434a-4148-4bd5-826b-9ade103f063c","X-Runtime":"0.049112","X-Xss-Protection":"1; mode=block","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin","X-Frame-Options":"SAMEORIGIN","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"4a614c6ab1d2eb03","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.560209,"id":"596d159c93df7e5f","name":"Response","timestamp":1646055562662334,"trace_id":"ed0e3c4e98e155548b18445df38f2981","type":"external","action":"response","outcome":"success","parent_id":"4a614c6ab1d2eb03","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6a70509d3387c65c"}} +{"span":{"duration":62.399665999999996,"id":"4a614c6ab1d2eb03","name":"GET opbeans-go:3000","timestamp":1646055562601496,"trace_id":"ed0e3c4e98e155548b18445df38f2981","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products","status_code":200}},"outcome":"success","parent_id":"6a70509d3387c65c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6a70509d3387c65c"}} +{"transaction":{"duration":62.539790999999994,"id":"6a70509d3387c65c","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055562601442,"trace_id":"ed0e3c4e98e155548b18445df38f2981","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Traceparent":"00-ed0e3c4e98e155548b18445df38f2981-ca3da16aa1178e92-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-ed0e3c4e98e155548b18445df38f2981-ca3da16aa1178e92-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Download-Options":"noopen","Referrer-Policy":"strict-origin-when-cross-origin","X-Frame-Options":"SAMEORIGIN","X-Permitted-Cross-Domain-Policies":"none","X-Runtime":"0.049112","Cache-Control":"max-age=0, private, must-revalidate","X-Xss-Protection":"1; mode=block","X-Content-Type-Options":"nosniff","Content-Type":"application/json; charset=utf-8","Etag":"W/\"e7a2362bf423f315691b319c14409fa6\"","X-Request-Id":"abea434a-4148-4bd5-826b-9ade103f063c","Date":"Mon, 28 Feb 2022 13:39:22 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ca3da16aa1178e92","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":92.409875,"id":"16e6008bc4f03096","name":"Request","timestamp":1646055562573947,"trace_id":"ed0e3c4e98e155548b18445df38f2981","type":"external","action":"request","outcome":"success","parent_id":"25a309e683d52b25","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ed0e3c4e98e15554"}} +{"span":{"duration":2.2374579999999997,"id":"c514ebc1daefcd5a","name":"Response","timestamp":1646055562666378,"trace_id":"ed0e3c4e98e155548b18445df38f2981","type":"external","action":"response","outcome":"success","parent_id":"25a309e683d52b25","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ed0e3c4e98e15554"}} +{"span":{"duration":95.551583,"id":"25a309e683d52b25","name":"GET opbeans-node:3000","timestamp":1646055562573067,"trace_id":"ed0e3c4e98e155548b18445df38f2981","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products","status_code":200}},"outcome":"success","parent_id":"ed0e3c4e98e15554","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ed0e3c4e98e15554"}} +{"transaction":{"duration":95.68866700000001,"id":"ed0e3c4e98e15554","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055562573014,"trace_id":"ed0e3c4e98e155548b18445df38f2981","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Etag":"W/\"e7a2362bf423f315691b319c14409fa6\"","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:22 GMT","Referrer-Policy":"strict-origin-when-cross-origin","X-Xss-Protection":"1; mode=block","X-Content-Type-Options":"nosniff","X-Request-Id":"abea434a-4148-4bd5-826b-9ade103f063c","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","Cache-Control":"max-age=0, private, must-revalidate","X-Frame-Options":"SAMEORIGIN","X-Runtime":"0.049112"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.352208,"id":"dc514f5dbbc44005","name":"SELECT FROM product_types","timestamp":1646055562686488,"trace_id":"3e5475a66fad6b15fefeb405cf90b5b3","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3e5475a66fad6b15","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3e5475a66fad6b15"}} +{"transaction":{"duration":0.45079199999999997,"id":"3e5475a66fad6b15","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055562686473,"trace_id":"3e5475a66fad6b15fefeb405cf90b5b3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.8671249999999999,"id":"cce0eeac71811646","name":"SELECT FROM customers","timestamp":1646055562705049,"trace_id":"4dbc75c906919845fd9ce00fbb139876","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4dbc75c906919845","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4dbc75c906919845"}} +{"transaction":{"duration":2.425459,"id":"4dbc75c906919845","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055562705033,"trace_id":"4dbc75c906919845fd9ce00fbb139876","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5125839999999999,"id":"9ff49b2d3f08960f","name":"SELECT FROM products","timestamp":1646055562727361,"trace_id":"e74f296e10542712a7a54eab5f0b2fd9","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e74f296e10542712","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e74f296e10542712"}} +{"transaction":{"duration":0.634667,"id":"e74f296e10542712","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055562727341,"trace_id":"e74f296e10542712a7a54eab5f0b2fd9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.308583,"id":"ded9588c3430aad7","name":"DNS opbeans-python","timestamp":1646055562747149,"trace_id":"a1a7b54d8c58cd7144d94b55e94208cc","type":"external","action":"dns","outcome":"success","parent_id":"3290218459420e1f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a1a7b54d8c58cd71"}} +{"span":{"duration":0.11666699999999999,"id":"be463fb6e8c15960","name":"Connect 172.23.0.11:3000","timestamp":1646055562747473,"trace_id":"a1a7b54d8c58cd7144d94b55e94208cc","type":"external","action":"connect","outcome":"success","parent_id":"3290218459420e1f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a1a7b54d8c58cd71"}} +{"span":{"duration":27.717834,"id":"51c59afc03a2ae95","name":"Request","timestamp":1646055562747602,"trace_id":"a1a7b54d8c58cd7144d94b55e94208cc","type":"external","action":"request","outcome":"success","parent_id":"3290218459420e1f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a1a7b54d8c58cd71"}} +{"span":{"duration":0.12475,"id":"9d92568b0d46072b","name":"Response","timestamp":1646055562775349,"trace_id":"a1a7b54d8c58cd7144d94b55e94208cc","type":"external","action":"response","outcome":"success","parent_id":"3290218459420e1f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a1a7b54d8c58cd71"}} +{"span":{"duration":28.372041,"id":"3290218459420e1f","name":"GET opbeans-python:3000","timestamp":1646055562747102,"trace_id":"a1a7b54d8c58cd7144d94b55e94208cc","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/4/customers?limit=80","status_code":200}},"outcome":"success","parent_id":"a1a7b54d8c58cd71","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a1a7b54d8c58cd71"}} +{"transaction":{"duration":28.958625,"id":"a1a7b54d8c58cd71","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055562746911,"trace_id":"a1a7b54d8c58cd7144d94b55e94208cc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","search":"limit=80","full":"http://opbeans-go:3000/api/products/4/customers?limit=80"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Referrer-Policy":"same-origin","X-Frame-Options":"DENY","Content-Length":"14728","Vary":"Cookie","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:39:22 GMT","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.601792,"id":"7c80a1546fb05eec","name":"DNS opbeans-python","timestamp":1646055562795917,"trace_id":"e8d355bf58c006380bebaa247ae0c9b1","type":"external","action":"dns","outcome":"success","parent_id":"3bfd34324b9cbb8b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e8d355bf58c00638"}} +{"span":{"duration":0.430834,"id":"42f4a8cf9d6a5106","name":"Connect 172.23.0.11:3000","timestamp":1646055562796526,"trace_id":"e8d355bf58c006380bebaa247ae0c9b1","type":"external","action":"connect","outcome":"success","parent_id":"3bfd34324b9cbb8b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e8d355bf58c00638"}} +{"span":{"duration":12.950750000000001,"id":"ceceac9555948ceb","name":"Request","timestamp":1646055562797008,"trace_id":"e8d355bf58c006380bebaa247ae0c9b1","type":"external","action":"request","outcome":"success","parent_id":"3bfd34324b9cbb8b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e8d355bf58c00638"}} +{"span":{"duration":0.789916,"id":"687e8cbac318eee5","name":"Response","timestamp":1646055562809982,"trace_id":"e8d355bf58c006380bebaa247ae0c9b1","type":"external","action":"response","outcome":"success","parent_id":"3bfd34324b9cbb8b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e8d355bf58c00638"}} +{"span":{"duration":14.907375,"id":"3bfd34324b9cbb8b","name":"GET opbeans-python:3000","timestamp":1646055562795865,"trace_id":"e8d355bf58c006380bebaa247ae0c9b1","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers/167","status_code":200}},"outcome":"success","parent_id":"e8d355bf58c00638","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e8d355bf58c00638"}} +{"transaction":{"duration":15.074334,"id":"e8d355bf58c00638","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055562795802,"trace_id":"e8d355bf58c006380bebaa247ae0c9b1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/167","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/167"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:39:22 GMT","Content-Type":"application/json","X-Frame-Options":"DENY","Referrer-Policy":"same-origin","Server":"gunicorn","Content-Length":"203","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.47325,"id":"be67e84e7d8036f4","name":"SELECT FROM customers","timestamp":1646055562832423,"trace_id":"93d1af125ac4b802d122cf273f3414d7","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"93d1af125ac4b802","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"93d1af125ac4b802"}} +{"span":{"duration":0.07058299999999999,"id":"09ec71971dcc84d9","name":"INSERT INTO order_lines","timestamp":1646055562833047,"trace_id":"93d1af125ac4b802d122cf273f3414d7","type":"db","action":"prepare","context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"93d1af125ac4b802","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"93d1af125ac4b802"}} +{"span":{"duration":0.639709,"id":"3e56a9a94f27b2e0","name":"INSERT INTO orders","timestamp":1646055562833121,"trace_id":"93d1af125ac4b802d122cf273f3414d7","type":"db","action":"query","context":{"db":{"statement":"INSERT INTO orders (customer_id) VALUES ($1) RETURNING id","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"93d1af125ac4b802","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"93d1af125ac4b802"}} +{"span":{"duration":0.22479100000000002,"id":"fe91e096c6260575","name":"INSERT INTO order_lines","timestamp":1646055562833775,"trace_id":"93d1af125ac4b802d122cf273f3414d7","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"93d1af125ac4b802","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"93d1af125ac4b802"}} +{"span":{"duration":0.118291,"id":"fe41aeac0bf68dcb","name":"INSERT INTO order_lines","timestamp":1646055562834004,"trace_id":"93d1af125ac4b802d122cf273f3414d7","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"93d1af125ac4b802","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"93d1af125ac4b802"}} +{"span":{"duration":0.095334,"id":"31c7dd64e101c35f","name":"INSERT INTO order_lines","timestamp":1646055562834127,"trace_id":"93d1af125ac4b802d122cf273f3414d7","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"93d1af125ac4b802","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"93d1af125ac4b802"}} +{"span":{"duration":0.110667,"id":"3b3e9cd6ebefa803","name":"INSERT INTO order_lines","timestamp":1646055562834224,"trace_id":"93d1af125ac4b802d122cf273f3414d7","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"93d1af125ac4b802","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"93d1af125ac4b802"}} +{"transaction":{"duration":2.876542,"id":"93d1af125ac4b802","name":"POST /api/orders/csv","span_count":{"dropped":0,"started":7},"timestamp":1646055562832355,"trace_id":"93d1af125ac4b802d122cf273f3414d7","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders/csv","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/csv"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"384","Content-Type":"multipart/form-data; boundary=a33cc5c97dd34002a667e2d3bc215ea6"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"customer_name":"Timothy Green","customer_email":"tgreeno7@bluehost.com"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.430709,"id":"58826ad6a0eeb39e","name":"SELECT FROM customers","timestamp":1646055562853431,"trace_id":"f286f2dbfa3eca95a759148808bc1fd4","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f286f2dbfa3eca95","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f286f2dbfa3eca95"}} +{"transaction":{"duration":0.603625,"id":"f286f2dbfa3eca95","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055562853413,"trace_id":"f286f2dbfa3eca95a759148808bc1fd4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/7746","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/7746"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":1.02625,"id":"03e8f14246ea632a","name":"SELECT FROM customers","timestamp":1646055562871315,"trace_id":"e8742215d1e853f1a88aa05874b50abb","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e8742215d1e853f1","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e8742215d1e853f1"}} +{"transaction":{"duration":7.2107079999999995,"id":"e8742215d1e853f1","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055562871290,"trace_id":"e8742215d1e853f1a88aa05874b50abb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","search":"limit=100","full":"http://opbeans-go:3000/api/products/2/customers?limit=100"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.324,"id":"9a901666d3bc054a","name":"DNS opbeans-python","timestamp":1646055562899816,"trace_id":"aaca0c06d55fdcf9eeefbfaf58b877d2","type":"external","action":"dns","outcome":"success","parent_id":"90a0b3c9701902e9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aaca0c06d55fdcf9"}} +{"span":{"duration":0.113041,"id":"8048299f15164eeb","name":"Connect 172.23.0.11:3000","timestamp":1646055562900147,"trace_id":"aaca0c06d55fdcf9eeefbfaf58b877d2","type":"external","action":"connect","outcome":"success","parent_id":"90a0b3c9701902e9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aaca0c06d55fdcf9"}} +{"span":{"duration":29.066209,"id":"30b7cca3480b3fba","name":"Request","timestamp":1646055562900274,"trace_id":"aaca0c06d55fdcf9eeefbfaf58b877d2","type":"external","action":"request","outcome":"success","parent_id":"90a0b3c9701902e9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aaca0c06d55fdcf9"}} +{"span":{"duration":0.481458,"id":"34f7ffc97d0f97a2","name":"Response","timestamp":1646055562929380,"trace_id":"aaca0c06d55fdcf9eeefbfaf58b877d2","type":"external","action":"response","outcome":"success","parent_id":"90a0b3c9701902e9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aaca0c06d55fdcf9"}} +{"span":{"duration":30.119291999999998,"id":"90a0b3c9701902e9","name":"GET opbeans-python:3000","timestamp":1646055562899744,"trace_id":"aaca0c06d55fdcf9eeefbfaf58b877d2","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/397","status_code":200}},"outcome":"success","parent_id":"aaca0c06d55fdcf9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aaca0c06d55fdcf9"}} +{"transaction":{"duration":30.524875,"id":"aaca0c06d55fdcf9","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055562899467,"trace_id":"aaca0c06d55fdcf9eeefbfaf58b877d2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/397","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/397"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","X-Frame-Options":"DENY","Content-Length":"312","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:22 GMT","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.361917,"id":"cc08a98d72aafe0d","name":"DNS opbeans-python","timestamp":1646055562949991,"trace_id":"f679d2bb1f94f28a40b40d0f700bde15","type":"external","action":"dns","outcome":"success","parent_id":"b451ffdb1cc29938","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f679d2bb1f94f28a"}} +{"span":{"duration":0.10575,"id":"3bb4b47a8e16d17c","name":"Connect 172.23.0.11:3000","timestamp":1646055562950358,"trace_id":"f679d2bb1f94f28a40b40d0f700bde15","type":"external","action":"connect","outcome":"success","parent_id":"b451ffdb1cc29938","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f679d2bb1f94f28a"}} +{"span":{"duration":276.482959,"id":"21ddbb6a244616eb","name":"Request","timestamp":1646055562950480,"trace_id":"f679d2bb1f94f28a40b40d0f700bde15","type":"external","action":"request","outcome":"success","parent_id":"b451ffdb1cc29938","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f679d2bb1f94f28a"}} +{"span":{"duration":1.602166,"id":"31849e2155a3856e","name":"Response","timestamp":1646055563226995,"trace_id":"f679d2bb1f94f28a40b40d0f700bde15","type":"external","action":"response","outcome":"success","parent_id":"b451ffdb1cc29938","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f679d2bb1f94f28a"}} +{"span":{"duration":278.665791,"id":"b451ffdb1cc29938","name":"POST opbeans-python:3000","timestamp":1646055562949935,"trace_id":"f679d2bb1f94f28a40b40d0f700bde15","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"f679d2bb1f94f28a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f679d2bb1f94f28a"}} +{"transaction":{"duration":279.031833,"id":"f679d2bb1f94f28a","name":"POST /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055562949697,"trace_id":"f679d2bb1f94f28a40b40d0f700bde15","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"103","Content-Type":"text/plain; charset=utf-8"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","X-Content-Type-Options":"nosniff","Content-Length":"13","Vary":"Cookie","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:23 GMT","Content-Type":"application/json","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":59.774625,"id":"6eb798b109d539a7","name":"Request","timestamp":1646055563250971,"trace_id":"c221abedb72b4bb4a0efee38a0f51440","type":"external","action":"request","outcome":"success","parent_id":"dc14a6eefac6c666","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c221abedb72b4bb4"}} +{"span":{"duration":0.114958,"id":"18b33dd27e625356","name":"Response","timestamp":1646055563310777,"trace_id":"c221abedb72b4bb4a0efee38a0f51440","type":"external","action":"response","outcome":"success","parent_id":"dc14a6eefac6c666","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c221abedb72b4bb4"}} +{"span":{"duration":60.018457999999995,"id":"dc14a6eefac6c666","name":"GET opbeans-ruby:3000","timestamp":1646055563250874,"trace_id":"c221abedb72b4bb4a0efee38a0f51440","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/101","status_code":404}},"outcome":"failure","parent_id":"c221abedb72b4bb4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c221abedb72b4bb4"}} +{"transaction":{"duration":60.266667000000005,"id":"c221abedb72b4bb4","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055563250750,"trace_id":"c221abedb72b4bb4a0efee38a0f51440","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/101","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/101"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Request-Id":"40b98a86-a015-4db7-9ca5-150ae7814c32","X-Runtime":"0.048168","Content-Length":"1722","Content-Type":"text/html; charset=UTF-8"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"transaction":{"duration":0.407291,"id":"36b585177dc96cde","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055563338602,"trace_id":"36b585177dc96cde15ed69cec6be745c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.3475,"id":"0302f9c7a77671c2","name":"DNS opbeans-node","timestamp":1646055563363930,"trace_id":"bd8ec389c86631fbe288185dff591e63","type":"external","action":"dns","outcome":"success","parent_id":"cbce83d6003f9d88","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bd8ec389c86631fb"}} +{"span":{"duration":0.22941699999999998,"id":"4eaff73a75e34d6e","name":"Connect 172.23.0.10:3000","timestamp":1646055563364293,"trace_id":"bd8ec389c86631fbe288185dff591e63","type":"external","action":"connect","outcome":"success","parent_id":"cbce83d6003f9d88","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bd8ec389c86631fb"}} +{"span":{"duration":25.391875000000002,"id":"8486e0daac8a6a3e","name":"Request","timestamp":1646055563364739,"trace_id":"bd8ec389c86631fbe288185dff591e63","type":"external","action":"request","outcome":"success","parent_id":"cbce83d6003f9d88","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bd8ec389c86631fb"}} +{"span":{"duration":0.086542,"id":"ba63ab40089887c6","name":"Response","timestamp":1646055563390167,"trace_id":"bd8ec389c86631fbe288185dff591e63","type":"external","action":"response","outcome":"success","parent_id":"cbce83d6003f9d88","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bd8ec389c86631fb"}} +{"span":{"duration":26.384833,"id":"cbce83d6003f9d88","name":"GET opbeans-node:3000","timestamp":1646055563363869,"trace_id":"bd8ec389c86631fbe288185dff591e63","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/6/customers","status_code":200}},"outcome":"success","parent_id":"bd8ec389c86631fb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bd8ec389c86631fb"}} +{"transaction":{"duration":26.642042,"id":"bd8ec389c86631fb","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055563363713,"trace_id":"bd8ec389c86631fbe288185dff591e63","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"2","Etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","Date":"Mon, 28 Feb 2022 13:39:23 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.45883399999999996,"id":"165069d8182ce8aa","name":"SELECT FROM customers","timestamp":1646055563414648,"trace_id":"0c0b661c7aeca16309785edc17ec5522","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0c0b661c7aeca163","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0c0b661c7aeca163"}} +{"transaction":{"duration":0.751958,"id":"0c0b661c7aeca163","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055563414593,"trace_id":"0c0b661c7aeca16309785edc17ec5522","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/407","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/407"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.920083,"id":"d25ed0fc923c7d97","name":"SELECT FROM customers","timestamp":1646055563435315,"trace_id":"dab7ddcca8d755d085f7ca6897679e58","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7a9a0dfc94cbf4a5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7a9a0dfc94cbf4a5"}} +{"transaction":{"duration":1.034833,"id":"7a9a0dfc94cbf4a5","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055563435297,"trace_id":"dab7ddcca8d755d085f7ca6897679e58","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/454","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/454"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-dab7ddcca8d755d085f7ca6897679e58-4438078bf782a38a-01","Traceparent":"00-dab7ddcca8d755d085f7ca6897679e58-4438078bf782a38a-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"4438078bf782a38a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.401542,"id":"601e112dbff79224","name":"Request","timestamp":1646055563435004,"trace_id":"dab7ddcca8d755d085f7ca6897679e58","type":"external","action":"request","outcome":"success","parent_id":"4438078bf782a38a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dab7ddcca8d755d0"}} +{"span":{"duration":0.06625,"id":"46a862d136b86d4d","name":"Response","timestamp":1646055563436407,"trace_id":"dab7ddcca8d755d085f7ca6897679e58","type":"external","action":"response","outcome":"success","parent_id":"4438078bf782a38a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dab7ddcca8d755d0"}} +{"span":{"duration":1.518291,"id":"4438078bf782a38a","name":"GET opbeans-go:3000","timestamp":1646055563434956,"trace_id":"dab7ddcca8d755d085f7ca6897679e58","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/454","status_code":200}},"outcome":"success","parent_id":"dab7ddcca8d755d0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dab7ddcca8d755d0"}} +{"transaction":{"duration":1.861375,"id":"dab7ddcca8d755d0","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055563434638,"trace_id":"dab7ddcca8d755d085f7ca6897679e58","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/454","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/454"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"189","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:23 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.288292,"id":"bcef281c1d393157","name":"SELECT FROM products","timestamp":1646055563458697,"trace_id":"aae6cb7c0328effdc55068a82c863be1","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"aae6cb7c0328effd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"aae6cb7c0328effd"}} +{"transaction":{"duration":0.615334,"id":"aae6cb7c0328effd","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055563458671,"trace_id":"aae6cb7c0328effdc55068a82c863be1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":1.047042,"id":"623c999d51162d4f","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055563483030,"trace_id":"e302d864cbee9d9b843b2b01ca8ec822","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-e302d864cbee9d9b843b2b01ca8ec822-4dad172709070ba4-01","Traceparent":"00-e302d864cbee9d9b843b2b01ca8ec822-4dad172709070ba4-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"4dad172709070ba4","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.230667,"id":"bd68490986534ae3","name":"Request","timestamp":1646055563482945,"trace_id":"e302d864cbee9d9b843b2b01ca8ec822","type":"external","action":"request","outcome":"success","parent_id":"4dad172709070ba4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e302d864cbee9d9b"}} +{"span":{"duration":0.044958,"id":"33491a94571ab35d","name":"Response","timestamp":1646055563484178,"trace_id":"e302d864cbee9d9b843b2b01ca8ec822","type":"external","action":"response","outcome":"success","parent_id":"4dad172709070ba4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e302d864cbee9d9b"}} +{"span":{"duration":1.316042,"id":"4dad172709070ba4","name":"GET opbeans-go:3000","timestamp":1646055563482908,"trace_id":"e302d864cbee9d9b843b2b01ca8ec822","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"e302d864cbee9d9b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e302d864cbee9d9b"}} +{"transaction":{"duration":1.6496250000000001,"id":"e302d864cbee9d9b","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055563482608,"trace_id":"e302d864cbee9d9b843b2b01ca8ec822","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:23 GMT","Content-Length":"110"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":114.75512499999999,"id":"7dc7abf9bd2d52ec","name":"Request","timestamp":1646055563506218,"trace_id":"909113f70931173f22d682c2ea1dd9e9","type":"external","action":"request","outcome":"success","parent_id":"5c7cd0489408d669","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c0edbaf648b9aaca"}} +{"span":{"duration":115.326541,"id":"babae767b82979b0","name":"Request","timestamp":1646055563505965,"trace_id":"909113f70931173f22d682c2ea1dd9e9","type":"external","action":"request","outcome":"success","parent_id":"6e7ccdf303c3b1ca","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"909113f70931173f"}} +{"span":{"duration":0.43070800000000004,"id":"e11483e93f4eda3a","name":"Response","timestamp":1646055563621008,"trace_id":"909113f70931173f22d682c2ea1dd9e9","type":"external","action":"response","outcome":"success","parent_id":"5c7cd0489408d669","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c0edbaf648b9aaca"}} +{"span":{"duration":115.231542,"id":"5c7cd0489408d669","name":"GET opbeans-ruby:3000","timestamp":1646055563506209,"trace_id":"909113f70931173f22d682c2ea1dd9e9","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products","status_code":200}},"outcome":"success","parent_id":"c0edbaf648b9aaca","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c0edbaf648b9aaca"}} +{"transaction":{"duration":115.687334,"id":"c0edbaf648b9aaca","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055563506071,"trace_id":"909113f70931173f22d682c2ea1dd9e9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-909113f70931173f22d682c2ea1dd9e9-6e7ccdf303c3b1ca-01","Traceparent":"00-909113f70931173f22d682c2ea1dd9e9-6e7ccdf303c3b1ca-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6e7ccdf303c3b1ca","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.059709,"id":"9a805460c6e34658","name":"Response","timestamp":1646055563621314,"trace_id":"909113f70931173f22d682c2ea1dd9e9","type":"external","action":"response","outcome":"success","parent_id":"6e7ccdf303c3b1ca","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"909113f70931173f"}} +{"span":{"duration":116.438667,"id":"6e7ccdf303c3b1ca","name":"GET opbeans-go:3000","timestamp":1646055563505936,"trace_id":"909113f70931173f22d682c2ea1dd9e9","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products","status_code":200}},"outcome":"success","parent_id":"909113f70931173f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"909113f70931173f"}} +{"transaction":{"duration":116.739334,"id":"909113f70931173f","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055563505732,"trace_id":"909113f70931173f22d682c2ea1dd9e9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:23 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":125.981125,"id":"f71de66005b5c0b1","name":"Request","timestamp":1646055563643709,"trace_id":"483ba71262a733d5c5ef341e3f5fe9ef","type":"external","action":"request","outcome":"success","parent_id":"f175931470b9a3a6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"483ba71262a733d5"}} +{"span":{"duration":4.276917,"id":"f79974c6a35a3047","name":"Response","timestamp":1646055563769720,"trace_id":"483ba71262a733d5c5ef341e3f5fe9ef","type":"external","action":"response","outcome":"success","parent_id":"f175931470b9a3a6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"483ba71262a733d5"}} +{"span":{"duration":130.32670800000002,"id":"f175931470b9a3a6","name":"GET opbeans-ruby:3000","timestamp":1646055563643675,"trace_id":"483ba71262a733d5c5ef341e3f5fe9ef","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products","status_code":200}},"outcome":"success","parent_id":"483ba71262a733d5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"483ba71262a733d5"}} +{"transaction":{"duration":130.600084,"id":"483ba71262a733d5","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055563643506,"trace_id":"483ba71262a733d5c5ef341e3f5fe9ef","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.781875,"id":"202f0f5b31c11560","name":"SELECT FROM products","timestamp":1646055563801409,"trace_id":"ef6584fc4c3d986300917edd382be937","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ef6584fc4c3d9863","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ef6584fc4c3d9863"}} +{"transaction":{"duration":2.1812910000000003,"id":"ef6584fc4c3d9863","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055563801387,"trace_id":"ef6584fc4c3d986300917edd382be937","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.59525,"id":"68b3dbb26d01d0b7","name":"SELECT FROM products","timestamp":1646055563832221,"trace_id":"c624e8e21816192ae5f55d5019f4ac27","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c624e8e21816192a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c624e8e21816192a"}} +{"transaction":{"duration":0.9535830000000001,"id":"c624e8e21816192a","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055563832184,"trace_id":"c624e8e21816192ae5f55d5019f4ac27","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":64.672708,"id":"7d2da90925b51e4d","name":"Request","timestamp":1646055563854809,"trace_id":"c752927b26a406415134a028f806c4a3","type":"external","action":"request","outcome":"success","parent_id":"2de967892cf11232","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c752927b26a40641"}} +{"span":{"duration":0.124,"id":"ee6bb76b20d2d206","name":"Response","timestamp":1646055563919521,"trace_id":"c752927b26a406415134a028f806c4a3","type":"external","action":"response","outcome":"success","parent_id":"2de967892cf11232","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c752927b26a40641"}} +{"span":{"duration":64.912875,"id":"2de967892cf11232","name":"GET opbeans-node:3000","timestamp":1646055563854734,"trace_id":"c752927b26a406415134a028f806c4a3","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types","status_code":200}},"outcome":"success","parent_id":"c752927b26a40641","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c752927b26a40641"}} +{"transaction":{"duration":65.333917,"id":"c752927b26a40641","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055563854403,"trace_id":"c752927b26a406415134a028f806c4a3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"112","Etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","Date":"Mon, 28 Feb 2022 13:39:23 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.351708,"id":"f6c0cca0f719db54","name":"SELECT FROM orders","timestamp":1646055563955622,"trace_id":"cb0b8aec30f87e1bf2a74891adf84cae","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"cb0b8aec30f87e1b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"cb0b8aec30f87e1b"}} +{"span":{"duration":0.704625,"id":"243d745b6119e17d","name":"SELECT FROM products","timestamp":1646055563956027,"trace_id":"cb0b8aec30f87e1bf2a74891adf84cae","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"cb0b8aec30f87e1b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"cb0b8aec30f87e1b"}} +{"transaction":{"duration":1.234833,"id":"cb0b8aec30f87e1b","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055563955602,"trace_id":"cb0b8aec30f87e1bf2a74891adf84cae","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/261","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/261"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":132.870708,"id":"9c80f129b3bbe23c","name":"Request","timestamp":1646055563981864,"trace_id":"28ca90171900eeb3260f1dc85c1e8677","type":"external","action":"request","outcome":"success","parent_id":"7e3cc8e223ac09ad","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"28ca90171900eeb3"}} +{"span":{"duration":4.563125,"id":"3979ea8e40829f0e","name":"Response","timestamp":1646055564114796,"trace_id":"28ca90171900eeb3260f1dc85c1e8677","type":"external","action":"response","outcome":"success","parent_id":"7e3cc8e223ac09ad","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"28ca90171900eeb3"}} +{"span":{"duration":137.544625,"id":"7e3cc8e223ac09ad","name":"GET opbeans-node:3000","timestamp":1646055563981818,"trace_id":"28ca90171900eeb3260f1dc85c1e8677","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/6/customers?limit=70","status_code":200}},"outcome":"success","parent_id":"28ca90171900eeb3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"28ca90171900eeb3"}} +{"transaction":{"duration":138.000167,"id":"28ca90171900eeb3","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055563981659,"trace_id":"28ca90171900eeb3260f1dc85c1e8677","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","search":"limit=70","full":"http://opbeans-go:3000/api/products/6/customers?limit=70"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Runtime":"0.058075","X-Powered-By":"Express","X-Xss-Protection":"1; mode=block","X-Request-Id":"19c84915-1828-4c67-ade6-6f4a731708c9","Date":"Mon, 28 Feb 2022 13:39:24 GMT","Referrer-Policy":"strict-origin-when-cross-origin","Content-Type":"application/json; charset=utf-8","Etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","X-Permitted-Cross-Domain-Policies":"none","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","Cache-Control":"max-age=0, private, must-revalidate"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.3270410000000004,"id":"36992c042d57ec1d","name":"SELECT FROM products","timestamp":1646055564147348,"trace_id":"7c3febce45cd648c2b4aa96e7dea9215","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7c3febce45cd648c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7c3febce45cd648c"}} +{"transaction":{"duration":2.874958,"id":"7c3febce45cd648c","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055564147322,"trace_id":"7c3febce45cd648c2b4aa96e7dea9215","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.0054580000000002,"id":"52a7af72ddc8ec67","name":"DNS opbeans-python","timestamp":1646055564184489,"trace_id":"2b862cbb559e6bab4b0871a734cd190c","type":"external","action":"dns","outcome":"success","parent_id":"781a9fbfb9ca3cd7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3031509bce737548"}} +{"span":{"duration":0.47620799999999996,"id":"0556446823810539","name":"Connect 172.23.0.11:3000","timestamp":1646055564185518,"trace_id":"2b862cbb559e6bab4b0871a734cd190c","type":"external","action":"connect","outcome":"success","parent_id":"781a9fbfb9ca3cd7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3031509bce737548"}} +{"span":{"duration":127.588542,"id":"a54701f0d90986ba","name":"Request","timestamp":1646055564186143,"trace_id":"2b862cbb559e6bab4b0871a734cd190c","type":"external","action":"request","outcome":"success","parent_id":"781a9fbfb9ca3cd7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3031509bce737548"}} +{"span":{"duration":0.143375,"id":"4db62889ad0177b1","name":"Response","timestamp":1646055564313792,"trace_id":"2b862cbb559e6bab4b0871a734cd190c","type":"external","action":"response","outcome":"success","parent_id":"781a9fbfb9ca3cd7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3031509bce737548"}} +{"span":{"duration":134.44091699999998,"id":"781a9fbfb9ca3cd7","name":"GET opbeans-python:3000","timestamp":1646055564179496,"trace_id":"2b862cbb559e6bab4b0871a734cd190c","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/839","status_code":200}},"outcome":"success","parent_id":"3031509bce737548","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3031509bce737548"}} +{"transaction":{"duration":134.743166,"id":"3031509bce737548","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055564179384,"trace_id":"2b862cbb559e6bab4b0871a734cd190c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/839","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/839"},"headers":{"Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-2b862cbb559e6bab4b0871a734cd190c-775d7c1921d9ecf2-01","Traceparent":"00-2b862cbb559e6bab4b0871a734cd190c-775d7c1921d9ecf2-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Vary":"Cookie","Server":"gunicorn","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:24 GMT","X-Content-Type-Options":"nosniff","Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"313"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"775d7c1921d9ecf2","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":135.056083,"id":"59748315f242b759","name":"Request","timestamp":1646055564179205,"trace_id":"2b862cbb559e6bab4b0871a734cd190c","type":"external","action":"request","outcome":"success","parent_id":"775d7c1921d9ecf2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2b862cbb559e6bab"}} +{"span":{"duration":0.02675,"id":"3d354a82188233cc","name":"Response","timestamp":1646055564314266,"trace_id":"2b862cbb559e6bab4b0871a734cd190c","type":"external","action":"response","outcome":"success","parent_id":"775d7c1921d9ecf2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2b862cbb559e6bab"}} +{"span":{"duration":135.1295,"id":"775d7c1921d9ecf2","name":"GET opbeans-go:3000","timestamp":1646055564179164,"trace_id":"2b862cbb559e6bab4b0871a734cd190c","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/839","status_code":200}},"outcome":"success","parent_id":"2b862cbb559e6bab","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2b862cbb559e6bab"}} +{"transaction":{"duration":135.444917,"id":"2b862cbb559e6bab","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055564178908,"trace_id":"2b862cbb559e6bab4b0871a734cd190c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/839","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/839"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:39:24 GMT","Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"313"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.114167,"id":"d90b44345a8644c9","name":"SELECT FROM customers","timestamp":1646055564337236,"trace_id":"4d57a978d221c5a46cb9fd0864a13cc2","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e8f405ce76c4c780","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e8f405ce76c4c780"}} +{"span":{"duration":8.129124999999998,"id":"818bd95ceb932223","name":"Request","timestamp":1646055564337126,"trace_id":"4d57a978d221c5a46cb9fd0864a13cc2","type":"external","action":"request","outcome":"success","parent_id":"bad6be2602534f99","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4d57a978d221c5a4"}} +{"span":{"duration":3.034042,"id":"db5734c560846ac2","name":"Response","timestamp":1646055564345272,"trace_id":"4d57a978d221c5a46cb9fd0864a13cc2","type":"external","action":"response","outcome":"success","parent_id":"bad6be2602534f99","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4d57a978d221c5a4"}} +{"span":{"duration":11.21175,"id":"bad6be2602534f99","name":"GET opbeans-go:3000","timestamp":1646055564337103,"trace_id":"4d57a978d221c5a46cb9fd0864a13cc2","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/3/customers","status_code":200}},"outcome":"success","parent_id":"4d57a978d221c5a4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4d57a978d221c5a4"}} +{"transaction":{"duration":11.579334,"id":"4d57a978d221c5a4","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055564337037,"trace_id":"4d57a978d221c5a46cb9fd0864a13cc2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:24 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":11.933,"id":"e8f405ce76c4c780","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055564337197,"trace_id":"4d57a978d221c5a46cb9fd0864a13cc2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3/customers"},"headers":{"Traceparent":"00-4d57a978d221c5a46cb9fd0864a13cc2-bad6be2602534f99-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-4d57a978d221c5a46cb9fd0864a13cc2-bad6be2602534f99-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"bad6be2602534f99","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.101,"id":"7dd4f014202050a3","name":"SELECT FROM customers","timestamp":1646055564371978,"trace_id":"54741cf330ef9a1ab3a330ae7eecf25b","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"54741cf330ef9a1a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"54741cf330ef9a1a"}} +{"transaction":{"duration":2.801875,"id":"54741cf330ef9a1a","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055564371960,"trace_id":"54741cf330ef9a1ab3a330ae7eecf25b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.324417,"id":"e1b7b57d596bf1a7","name":"SELECT FROM product_types","timestamp":1646055564405158,"trace_id":"72e8427b3077a1696f6713b2ebb66a87","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"72e8427b3077a169","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"72e8427b3077a169"}} +{"transaction":{"duration":0.794833,"id":"72e8427b3077a169","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055564405125,"trace_id":"72e8427b3077a1696f6713b2ebb66a87","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.617834,"id":"949aafebdb151ad1","name":"DNS opbeans-ruby","timestamp":1646055564432468,"trace_id":"fba1efce5c3c1b6a8c7af5d2b88463b9","type":"external","action":"dns","outcome":"success","parent_id":"71bf48ac83d0a9ed","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fba1efce5c3c1b6a"}} +{"span":{"duration":0.296292,"id":"ac8a8013e2e65338","name":"Connect 172.23.0.12:3000","timestamp":1646055564433092,"trace_id":"fba1efce5c3c1b6a8c7af5d2b88463b9","type":"external","action":"connect","outcome":"success","parent_id":"71bf48ac83d0a9ed","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fba1efce5c3c1b6a"}} +{"span":{"duration":174.01825000000002,"id":"b5860cff712320a4","name":"Request","timestamp":1646055564433404,"trace_id":"fba1efce5c3c1b6a8c7af5d2b88463b9","type":"external","action":"request","outcome":"success","parent_id":"71bf48ac83d0a9ed","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fba1efce5c3c1b6a"}} +{"span":{"duration":4.941667000000001,"id":"c60c083448f7ac33","name":"Response","timestamp":1646055564607462,"trace_id":"fba1efce5c3c1b6a8c7af5d2b88463b9","type":"external","action":"response","outcome":"success","parent_id":"71bf48ac83d0a9ed","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fba1efce5c3c1b6a"}} +{"span":{"duration":180.058875,"id":"71bf48ac83d0a9ed","name":"GET opbeans-ruby:3000","timestamp":1646055564432352,"trace_id":"fba1efce5c3c1b6a8c7af5d2b88463b9","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"fba1efce5c3c1b6a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fba1efce5c3c1b6a"}} +{"transaction":{"duration":180.534,"id":"fba1efce5c3c1b6a","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055564432104,"trace_id":"fba1efce5c3c1b6a8c7af5d2b88463b9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.28579099999999996,"id":"326004ca93927873","name":"DNS opbeans-node","timestamp":1646055564632721,"trace_id":"5edd6ecea06211b443ed37ac36a8879f","type":"external","action":"dns","outcome":"success","parent_id":"d54c6782bccb8a42","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5edd6ecea06211b4"}} +{"span":{"duration":0.191666,"id":"902d0578222ea9c8","name":"Connect 172.23.0.10:3000","timestamp":1646055564633012,"trace_id":"5edd6ecea06211b443ed37ac36a8879f","type":"external","action":"connect","outcome":"success","parent_id":"d54c6782bccb8a42","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5edd6ecea06211b4"}} +{"span":{"duration":0.29508300000000004,"id":"4d93b097dea9bc10","name":"DNS opbeans-node","timestamp":1646055564667093,"trace_id":"5edd6ecea06211b443ed37ac36a8879f","type":"external","action":"dns","outcome":"success","parent_id":"e513b79256911050","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ad024b14dacddac5"}} +{"span":{"duration":0.116,"id":"ba4a3662de2c6ae5","name":"Connect 172.23.0.10:3000","timestamp":1646055564667393,"trace_id":"5edd6ecea06211b443ed37ac36a8879f","type":"external","action":"connect","outcome":"success","parent_id":"e513b79256911050","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ad024b14dacddac5"}} +{"span":{"duration":230.249459,"id":"e57733087e675990","name":"Request","timestamp":1646055564667521,"trace_id":"5edd6ecea06211b443ed37ac36a8879f","type":"external","action":"request","outcome":"success","parent_id":"e513b79256911050","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ad024b14dacddac5"}} +{"span":{"duration":0.12362500000000001,"id":"e22b552223bd9e60","name":"Response","timestamp":1646055564897831,"trace_id":"5edd6ecea06211b443ed37ac36a8879f","type":"external","action":"response","outcome":"success","parent_id":"e513b79256911050","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ad024b14dacddac5"}} +{"span":{"duration":230.926042,"id":"e513b79256911050","name":"GET opbeans-node:3000","timestamp":1646055564667030,"trace_id":"5edd6ecea06211b443ed37ac36a8879f","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/1","status_code":200}},"outcome":"success","parent_id":"ad024b14dacddac5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ad024b14dacddac5"}} +{"transaction":{"duration":231.271209,"id":"ad024b14dacddac5","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055564666834,"trace_id":"5edd6ecea06211b443ed37ac36a8879f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Traceparent":"00-5edd6ecea06211b443ed37ac36a8879f-780a218a6fb146ed-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-5edd6ecea06211b443ed37ac36a8879f-780a218a6fb146ed-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Length":"233","X-Powered-By":"Express","Date":"Mon, 28 Feb 2022 13:39:24 GMT","Vary":"Cookie","Referrer-Policy":"same-origin","Server":"gunicorn","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"780a218a6fb146ed","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":282.165708,"id":"7cfb412f76b1e564","name":"Request","timestamp":1646055564633219,"trace_id":"5edd6ecea06211b443ed37ac36a8879f","type":"external","action":"request","outcome":"success","parent_id":"d54c6782bccb8a42","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5edd6ecea06211b4"}} +{"span":{"duration":0.3195,"id":"fc3f4469e9ac4811","name":"Response","timestamp":1646055564915424,"trace_id":"5edd6ecea06211b443ed37ac36a8879f","type":"external","action":"response","outcome":"success","parent_id":"d54c6782bccb8a42","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5edd6ecea06211b4"}} +{"span":{"duration":283.220959,"id":"d54c6782bccb8a42","name":"GET opbeans-node:3000","timestamp":1646055564632524,"trace_id":"5edd6ecea06211b443ed37ac36a8879f","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/1","status_code":200}},"outcome":"success","parent_id":"5edd6ecea06211b4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5edd6ecea06211b4"}} +{"transaction":{"duration":283.69025,"id":"5edd6ecea06211b4","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055564632324,"trace_id":"5edd6ecea06211b443ed37ac36a8879f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","X-Frame-Options":"DENY","Date":"Mon, 28 Feb 2022 13:39:24 GMT","Server":"gunicorn","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Content-Length":"233","Content-Type":"application/json","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.6921670000000001,"id":"72a12a095f3c459d","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055564934083,"trace_id":"72a12a095f3c459dc93a7b50c51f2bf1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.302917,"id":"060f9342871886c8","name":"DNS opbeans-go","timestamp":1646055564952921,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"external","action":"dns","outcome":"success","parent_id":"5ec7882b91bf1de4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9b41f64726655736"}} +{"span":{"duration":0.08608299999999999,"id":"b28fac9442a377dd","name":"Connect 172.23.0.9:3000","timestamp":1646055564953229,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"external","action":"connect","outcome":"success","parent_id":"5ec7882b91bf1de4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9b41f64726655736"}} +{"span":{"duration":0.365958,"id":"1cce5dfe57bf801a","name":"DNS opbeans-node","timestamp":1646055564953478,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"external","action":"dns","outcome":"success","parent_id":"5d35652689a3e2d4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1e1629a0b890b02f"}} +{"span":{"duration":0.071292,"id":"b17a4760a36c7421","name":"Connect 172.23.0.10:3000","timestamp":1646055564953847,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"external","action":"connect","outcome":"success","parent_id":"5d35652689a3e2d4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1e1629a0b890b02f"}} +{"span":{"duration":40.221792,"id":"5079b9da094b8405","name":"Request","timestamp":1646055564953925,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"external","action":"request","outcome":"success","parent_id":"5d35652689a3e2d4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1e1629a0b890b02f"}} +{"span":{"duration":0.096084,"id":"ebb1c7b352ec21f0","name":"Response","timestamp":1646055564994187,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"external","action":"response","outcome":"success","parent_id":"5d35652689a3e2d4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1e1629a0b890b02f"}} +{"span":{"duration":40.842166999999996,"id":"5d35652689a3e2d4","name":"GET opbeans-node:3000","timestamp":1646055564953442,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/2/customers?limit=70","status_code":200}},"outcome":"success","parent_id":"1e1629a0b890b02f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1e1629a0b890b02f"}} +{"transaction":{"duration":40.973957999999996,"id":"1e1629a0b890b02f","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055564953411,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","search":"limit=70","full":"http://opbeans-go:3000/api/products/2/customers?limit=70"},"headers":{"X-Forwarded-For":"172.23.0.14, 172.23.0.9","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-11339582d4cd787399d89c2137765c1e-5ec7882b91bf1de4-01","Traceparent":"00-11339582d4cd787399d89c2137765c1e-5ec7882b91bf1de4-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"4827","Etag":"W/\"12db-CVjfNlJXPDdUOB1pLPihBDfjg34\"","Date":"Mon, 28 Feb 2022 13:39:24 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"5ec7882b91bf1de4","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":41.280499999999996,"id":"8e475b6b29f4b4ed","name":"Request","timestamp":1646055564953329,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"external","action":"request","outcome":"success","parent_id":"5ec7882b91bf1de4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9b41f64726655736"}} +{"span":{"duration":0.0275,"id":"1abb8fda5dc6da40","name":"Response","timestamp":1646055564994615,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"external","action":"response","outcome":"success","parent_id":"5ec7882b91bf1de4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9b41f64726655736"}} +{"span":{"duration":41.845333,"id":"5ec7882b91bf1de4","name":"GET opbeans-go:3000","timestamp":1646055564952797,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/2/customers?limit=70","status_code":200}},"outcome":"success","parent_id":"9b41f64726655736","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9b41f64726655736"}} +{"transaction":{"duration":41.958542,"id":"9b41f64726655736","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055564952770,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","search":"limit=70","full":"http://opbeans-go:3000/api/products/2/customers?limit=70"},"headers":{"Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-11339582d4cd787399d89c2137765c1e-7aa603fe846a4834-01","Traceparent":"00-11339582d4cd787399d89c2137765c1e-7aa603fe846a4834-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Length":"4827","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:24 GMT","Etag":"W/\"12db-CVjfNlJXPDdUOB1pLPihBDfjg34\"","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"7aa603fe846a4834","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":42.338375,"id":"2b256a77d98857c0","name":"Request","timestamp":1646055564952513,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"external","action":"request","outcome":"success","parent_id":"7aa603fe846a4834","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"11339582d4cd7873"}} +{"span":{"duration":0.075625,"id":"7aa0016ea5811669","name":"Response","timestamp":1646055564994865,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"external","action":"response","outcome":"success","parent_id":"7aa603fe846a4834","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"11339582d4cd7873"}} +{"span":{"duration":42.475875,"id":"7aa603fe846a4834","name":"GET opbeans-go:3000","timestamp":1646055564952465,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/2/customers?limit=70","status_code":200}},"outcome":"success","parent_id":"11339582d4cd7873","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"11339582d4cd7873"}} +{"transaction":{"duration":42.634041999999994,"id":"11339582d4cd7873","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055564952401,"trace_id":"11339582d4cd787399d89c2137765c1e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","search":"limit=70","full":"http://opbeans-go:3000/api/products/2/customers?limit=70"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"4827","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:24 GMT","Etag":"W/\"12db-CVjfNlJXPDdUOB1pLPihBDfjg34\"","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.188917,"id":"385eb9cb29976afd","name":"SELECT FROM customers","timestamp":1646055565013291,"trace_id":"5a80f84cc7251273f5239a4523770cdc","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5a80f84cc7251273","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5a80f84cc7251273"}} +{"transaction":{"duration":4.566541,"id":"5a80f84cc7251273","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055565013253,"trace_id":"5a80f84cc7251273f5239a4523770cdc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.390625,"id":"947978342136440a","name":"SELECT FROM customers","timestamp":1646055565035639,"trace_id":"9b3d5ac8e0232e5b6cbb3bf3d00cfc3a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9b3d5ac8e0232e5b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9b3d5ac8e0232e5b"}} +{"transaction":{"duration":3.005,"id":"9b3d5ac8e0232e5b","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055565035611,"trace_id":"9b3d5ac8e0232e5b6cbb3bf3d00cfc3a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=70","full":"http://opbeans-go:3000/api/products/5/customers?limit=70"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.210208,"id":"f8faa6a895d4125f","name":"DNS opbeans-python","timestamp":1646055565066967,"trace_id":"8d7db9fbb01d8574feb57ad51318ba40","type":"external","action":"dns","outcome":"success","parent_id":"2a27a09762b68453","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8d7db9fbb01d8574"}} +{"span":{"duration":0.171375,"id":"6927ba13488b88dc","name":"Connect 172.23.0.11:3000","timestamp":1646055565069191,"trace_id":"8d7db9fbb01d8574feb57ad51318ba40","type":"external","action":"connect","outcome":"success","parent_id":"2a27a09762b68453","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8d7db9fbb01d8574"}} +{"span":{"duration":316.838791,"id":"d109e514c38a588e","name":"Request","timestamp":1646055565114662,"trace_id":"7145ee82208513d0c73d3fbe4d5f33af","type":"external","action":"request","outcome":"success","parent_id":"beb4ae303d9cd9b4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1b3ff8308e313177"}} +{"span":{"duration":0.32358400000000004,"id":"8ddb81120e2c4ee1","name":"Response","timestamp":1646055565431702,"trace_id":"7145ee82208513d0c73d3fbe4d5f33af","type":"external","action":"response","outcome":"success","parent_id":"beb4ae303d9cd9b4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1b3ff8308e313177"}} +{"span":{"duration":317.379125,"id":"beb4ae303d9cd9b4","name":"GET opbeans-node:3000","timestamp":1646055565114652,"trace_id":"7145ee82208513d0c73d3fbe4d5f33af","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"1b3ff8308e313177","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1b3ff8308e313177"}} +{"transaction":{"duration":317.8915,"id":"1b3ff8308e313177","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055565114607,"trace_id":"7145ee82208513d0c73d3fbe4d5f33af","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-7145ee82208513d0c73d3fbe4d5f33af-0a532d954b817c43-01","Traceparent":"00-7145ee82208513d0c73d3fbe4d5f33af-0a532d954b817c43-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.11","User-Agent":"python-requests/2.27.1","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Length":"108","Etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","Date":"Mon, 28 Feb 2022 13:39:25 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"0a532d954b817c43","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":318.441416,"id":"20f6cf1a524e841d","name":"Request","timestamp":1646055565114467,"trace_id":"7145ee82208513d0c73d3fbe4d5f33af","type":"external","action":"request","outcome":"success","parent_id":"0a532d954b817c43","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"79b69d4a20ad2a02"}} +{"span":{"duration":0.04375,"id":"8af344090e53ca87","name":"Response","timestamp":1646055565432918,"trace_id":"7145ee82208513d0c73d3fbe4d5f33af","type":"external","action":"response","outcome":"success","parent_id":"0a532d954b817c43","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"79b69d4a20ad2a02"}} +{"span":{"duration":318.516792,"id":"0a532d954b817c43","name":"GET opbeans-go:3000","timestamp":1646055565114445,"trace_id":"7145ee82208513d0c73d3fbe4d5f33af","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"79b69d4a20ad2a02","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"79b69d4a20ad2a02"}} +{"transaction":{"duration":319.295083,"id":"79b69d4a20ad2a02","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055565113903,"trace_id":"7145ee82208513d0c73d3fbe4d5f33af","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-7145ee82208513d0c73d3fbe4d5f33af-3f821de67e6fc8f0-01","Elastic-Apm-Traceparent":"00-7145ee82208513d0c73d3fbe4d5f33af-3f821de67e6fc8f0-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Length":"108","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:25 GMT","Etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"3f821de67e6fc8f0","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.865333,"id":"86a4757ed11debb6","name":"SELECT FROM product_types","timestamp":1646055567413752,"trace_id":"572930fc62423a1a4f5e5d08b8b54ee6","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"94aea5efc6e4dad7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"94aea5efc6e4dad7"}} +{"transaction":{"duration":1.165125,"id":"94aea5efc6e4dad7","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055567413687,"trace_id":"572930fc62423a1a4f5e5d08b8b54ee6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Traceparent":"00-572930fc62423a1a4f5e5d08b8b54ee6-22e3a4df0fad27db-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-572930fc62423a1a4f5e5d08b8b54ee6-22e3a4df0fad27db-01","Connection":"close","User-Agent":"http.rb/5.0.4"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"22e3a4df0fad27db","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":14.335584,"id":"6127d1c8314dda56","name":"Request","timestamp":1646055567801075,"trace_id":"618025503d473e285d62dfdb3de747db","type":"external","action":"request","outcome":"success","parent_id":"99889742310666bb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4c3e7fcaecf5db9d"}} +{"span":{"duration":0.136041,"id":"fbed16328463a635","name":"Response","timestamp":1646055567815446,"trace_id":"618025503d473e285d62dfdb3de747db","type":"external","action":"response","outcome":"success","parent_id":"99889742310666bb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4c3e7fcaecf5db9d"}} +{"span":{"duration":14.64725,"id":"99889742310666bb","name":"GET opbeans-node:3000","timestamp":1646055567800936,"trace_id":"618025503d473e285d62dfdb3de747db","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"4c3e7fcaecf5db9d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4c3e7fcaecf5db9d"}} +{"transaction":{"duration":15.125875,"id":"4c3e7fcaecf5db9d","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055567800732,"trace_id":"618025503d473e285d62dfdb3de747db","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-618025503d473e285d62dfdb3de747db-794e46da74d0bc0e-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-618025503d473e285d62dfdb3de747db-794e46da74d0bc0e-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Length":"242","Etag":"W/\"f2-TrZrMcMTUtdW6GY8TQq8W/JG3iU\"","Date":"Mon, 28 Feb 2022 13:39:27 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"794e46da74d0bc0e","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.931334,"id":"653accec08e662f4","name":"SELECT FROM products","timestamp":1646055567995812,"trace_id":"06c4842b51f305fc05b667122f033265","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1cdeeb05e3891e7c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1cdeeb05e3891e7c"}} +{"transaction":{"duration":1.3561249999999998,"id":"1cdeeb05e3891e7c","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055567995756,"trace_id":"06c4842b51f305fc05b667122f033265","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Traceparent":"00-06c4842b51f305fc05b667122f033265-72d10c26ff47a449-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-06c4842b51f305fc05b667122f033265-72d10c26ff47a449-01","Connection":"close","User-Agent":"http.rb/5.0.4"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"72d10c26ff47a449","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.679209,"id":"55b7887286d0374e","name":"SELECT FROM products","timestamp":1646055568127505,"trace_id":"9185d23180b13b81c5ab7532ebbb5946","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8fc7199371c58b58","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8fc7199371c58b58"}} +{"transaction":{"duration":0.9007499999999999,"id":"8fc7199371c58b58","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055568127463,"trace_id":"9185d23180b13b81c5ab7532ebbb5946","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-9185d23180b13b81c5ab7532ebbb5946-da22230b88cf0030-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-9185d23180b13b81c5ab7532ebbb5946-da22230b88cf0030-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"da22230b88cf0030","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5884170000000001,"id":"58e00cbe9eeecde9","name":"DNS opbeans-python","timestamp":1646055568210042,"trace_id":"4352ee8ea5b093096d0854d9bad7598f","type":"external","action":"dns","outcome":"success","parent_id":"d7d7b960dbdf9fe8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"66a6cfc80ce1d726"}} +{"span":{"duration":0.115667,"id":"fbb0ef887e22cc2f","name":"Connect 172.23.0.11:3000","timestamp":1646055568210635,"trace_id":"4352ee8ea5b093096d0854d9bad7598f","type":"external","action":"connect","outcome":"success","parent_id":"d7d7b960dbdf9fe8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"66a6cfc80ce1d726"}} +{"span":{"duration":105.103959,"id":"fd69eff59cd530dd","name":"Request","timestamp":1646055568210769,"trace_id":"4352ee8ea5b093096d0854d9bad7598f","type":"external","action":"request","outcome":"success","parent_id":"d7d7b960dbdf9fe8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"66a6cfc80ce1d726"}} +{"span":{"duration":9.769207999999999,"id":"648c463ac95e4e3b","name":"Response","timestamp":1646055568315957,"trace_id":"4352ee8ea5b093096d0854d9bad7598f","type":"external","action":"response","outcome":"success","parent_id":"d7d7b960dbdf9fe8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"66a6cfc80ce1d726"}} +{"span":{"duration":116.06712499999999,"id":"d7d7b960dbdf9fe8","name":"GET opbeans-python:3000","timestamp":1646055568209746,"trace_id":"4352ee8ea5b093096d0854d9bad7598f","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"66a6cfc80ce1d726","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"66a6cfc80ce1d726"}} +{"transaction":{"duration":116.33708299999999,"id":"66a6cfc80ce1d726","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055568209640,"trace_id":"4352ee8ea5b093096d0854d9bad7598f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Traceparent":"00-4352ee8ea5b093096d0854d9bad7598f-f2d49448426eaaf6-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-4352ee8ea5b093096d0854d9bad7598f-f2d49448426eaaf6-01","Connection":"close","User-Agent":"http.rb/5.0.4"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:28 GMT","Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"203686"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f2d49448426eaaf6","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.459959,"id":"fb572146f4a86d8f","name":"SELECT FROM customers","timestamp":1646055568575815,"trace_id":"3f96372a707424048c98e9dbc8751966","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"60683fec8b542b42","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"60683fec8b542b42"}} +{"transaction":{"duration":4.443708,"id":"60683fec8b542b42","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055568575758,"trace_id":"3f96372a707424048c98e9dbc8751966","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4/customers"},"headers":{"Elastic-Apm-Traceparent":"00-3f96372a707424048c98e9dbc8751966-619410f80fc09fc5-01","Connection":"close","Traceparent":"00-3f96372a707424048c98e9dbc8751966-619410f80fc09fc5-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"619410f80fc09fc5","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.677041,"id":"a9945a5748bf02e6","name":"DNS opbeans-ruby","timestamp":1646055569254109,"trace_id":"567481c11b85899d710168df2e1ee89d","type":"external","action":"dns","outcome":"success","parent_id":"de0ca7e7ec5ba013","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"47bdeaa1efc9e9bf"}} +{"span":{"duration":0.138333,"id":"2eab2aeb3fc6bc05","name":"Connect 172.23.0.12:3000","timestamp":1646055569254807,"trace_id":"567481c11b85899d710168df2e1ee89d","type":"external","action":"connect","outcome":"success","parent_id":"de0ca7e7ec5ba013","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"47bdeaa1efc9e9bf"}} +{"span":{"duration":103.94225,"id":"81c93d792a787edc","name":"Request","timestamp":1646055569254963,"trace_id":"567481c11b85899d710168df2e1ee89d","type":"external","action":"request","outcome":"success","parent_id":"de0ca7e7ec5ba013","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"47bdeaa1efc9e9bf"}} +{"span":{"duration":0.22699999999999998,"id":"5fb12e13c09a24c2","name":"Response","timestamp":1646055569358936,"trace_id":"567481c11b85899d710168df2e1ee89d","type":"external","action":"response","outcome":"success","parent_id":"de0ca7e7ec5ba013","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"47bdeaa1efc9e9bf"}} +{"span":{"duration":105.140875,"id":"de0ca7e7ec5ba013","name":"GET opbeans-ruby:3000","timestamp":1646055569254023,"trace_id":"567481c11b85899d710168df2e1ee89d","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"47bdeaa1efc9e9bf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"47bdeaa1efc9e9bf"}} +{"transaction":{"duration":105.62595900000001,"id":"47bdeaa1efc9e9bf","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055569253693,"trace_id":"567481c11b85899d710168df2e1ee89d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-567481c11b85899d710168df2e1ee89d-49ede08b198213d7-01","Elastic-Apm-Traceparent":"00-567481c11b85899d710168df2e1ee89d-49ede08b198213d7-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"49ede08b198213d7","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.152292,"id":"50133bbebf02b20f","name":"SELECT FROM customers","timestamp":1646055569495943,"trace_id":"b8abd0ba7889855a514a527e1fbadaa7","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4e2b80b98c976095","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4e2b80b98c976095"}} +{"transaction":{"duration":2.8525840000000002,"id":"4e2b80b98c976095","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055569495910,"trace_id":"b8abd0ba7889855a514a527e1fbadaa7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6/customers"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-b8abd0ba7889855a514a527e1fbadaa7-e02403f84554a7a0-01","Elastic-Apm-Traceparent":"00-b8abd0ba7889855a514a527e1fbadaa7-e02403f84554a7a0-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e02403f84554a7a0","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":67.63850000000001,"id":"3ea808af79115c07","name":"Request","timestamp":1646055569447096,"trace_id":"b8abd0ba7889855a514a527e1fbadaa7","type":"external","action":"request","outcome":"success","parent_id":"6044987106dba472","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7ee16c99fb6efcc0"}} +{"span":{"duration":7.929083,"id":"112e13e94b1e06f8","name":"Response","timestamp":1646055569514760,"trace_id":"b8abd0ba7889855a514a527e1fbadaa7","type":"external","action":"response","outcome":"success","parent_id":"6044987106dba472","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7ee16c99fb6efcc0"}} +{"span":{"duration":75.673125,"id":"6044987106dba472","name":"GET opbeans-ruby:3000","timestamp":1646055569447075,"trace_id":"b8abd0ba7889855a514a527e1fbadaa7","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/6/customers","status_code":200}},"outcome":"success","parent_id":"7ee16c99fb6efcc0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7ee16c99fb6efcc0"}} +{"transaction":{"duration":75.917416,"id":"7ee16c99fb6efcc0","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055569446945,"trace_id":"b8abd0ba7889855a514a527e1fbadaa7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6/customers"},"headers":{"Elastic-Apm-Traceparent":"00-b8abd0ba7889855a514a527e1fbadaa7-2327c42ccf195587-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-b8abd0ba7889855a514a527e1fbadaa7-2327c42ccf195587-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"2327c42ccf195587","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.237083,"id":"784bcd6a431178e8","name":"SELECT FROM orders","timestamp":1646055570656030,"trace_id":"f162d4f5dcc3d4a7d65d714d1fb23ed6","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f162d4f5dcc3d4a7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f162d4f5dcc3d4a7"}} +{"transaction":{"duration":3.725458,"id":"f162d4f5dcc3d4a7","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055570655969,"trace_id":"f162d4f5dcc3d4a7d65d714d1fb23ed6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.874833,"id":"b5389df92f17ca5b","name":"SELECT FROM customers","timestamp":1646055571075133,"trace_id":"ee9e6bb193e2e0c9d7ac3c32472b9757","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5ad01574208f86fe","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5ad01574208f86fe"}} +{"transaction":{"duration":2.460208,"id":"5ad01574208f86fe","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055571075098,"trace_id":"ee9e6bb193e2e0c9d7ac3c32472b9757","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"Connection":"keep-alive","Traceparent":"00-ee9e6bb193e2e0c9d7ac3c32472b9757-fc3d59b6b006f494-01","Elastic-Apm-Traceparent":"00-ee9e6bb193e2e0c9d7ac3c32472b9757-fc3d59b6b006f494-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"fc3d59b6b006f494","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":7414.586961,"id":"70c4a4ab96a4e1f6","name":"Request","timestamp":1646055565069378,"trace_id":"8d7db9fbb01d8574feb57ad51318ba40","type":"external","action":"request","outcome":"success","parent_id":"2a27a09762b68453","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8d7db9fbb01d8574"}} +{"span":{"duration":0.412875,"id":"f5530b81c61e7800","name":"Response","timestamp":1646055572484017,"trace_id":"8d7db9fbb01d8574feb57ad51318ba40","type":"external","action":"response","outcome":"success","parent_id":"2a27a09762b68453","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8d7db9fbb01d8574"}} +{"span":{"duration":7417.534378,"id":"2a27a09762b68453","name":"GET opbeans-python:3000","timestamp":1646055565066900,"trace_id":"8d7db9fbb01d8574feb57ad51318ba40","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"8d7db9fbb01d8574","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8d7db9fbb01d8574"}} +{"transaction":{"duration":7418.0380860000005,"id":"8d7db9fbb01d8574","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055565066802,"trace_id":"8d7db9fbb01d8574feb57ad51318ba40","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:32 GMT","Content-Length":"108580","X-Content-Type-Options":"nosniff","Server":"gunicorn","Content-Type":"application/json","X-Frame-Options":"DENY","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.41637500000000005,"id":"c66d796b6b3cb7a9","name":"SELECT FROM products","timestamp":1646055572511631,"trace_id":"69ef64702dc5d5cd0246118cdc3baf6b","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"69ef64702dc5d5cd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"69ef64702dc5d5cd"}} +{"transaction":{"duration":0.695292,"id":"69ef64702dc5d5cd","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055572511507,"trace_id":"69ef64702dc5d5cd0246118cdc3baf6b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.660875,"id":"b700d9872b593e94","name":"SELECT FROM orders","timestamp":1646055572534084,"trace_id":"6c337a71073efb53ba88b3f6fd7f05d7","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6c337a71073efb53","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6c337a71073efb53"}} +{"span":{"duration":0.561041,"id":"6ec5e627156821fb","name":"SELECT FROM products","timestamp":1646055572534800,"trace_id":"6c337a71073efb53ba88b3f6fd7f05d7","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6c337a71073efb53","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6c337a71073efb53"}} +{"transaction":{"duration":1.438333,"id":"6c337a71073efb53","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055572534066,"trace_id":"6c337a71073efb53ba88b3f6fd7f05d7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/477","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/477"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.349083,"id":"6d6188651c383140","name":"SELECT FROM customers","timestamp":1646055572554774,"trace_id":"7356ead28fd2a7d1da291eb1ff7ce307","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7356ead28fd2a7d1","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7356ead28fd2a7d1"}} +{"transaction":{"duration":2.281791,"id":"7356ead28fd2a7d1","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055572554753,"trace_id":"7356ead28fd2a7d1da291eb1ff7ce307","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.375,"id":"09050bdb7d33ef59","name":"SELECT FROM orders","timestamp":1646055572575764,"trace_id":"68bc40be69723c4ecbb3e2337d40d517","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"68bc40be69723c4e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"68bc40be69723c4e"}} +{"transaction":{"duration":2.243209,"id":"68bc40be69723c4e","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055572575749,"trace_id":"68bc40be69723c4ecbb3e2337d40d517","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.305667,"id":"0c1ab4cb772d67a0","name":"DNS opbeans-ruby","timestamp":1646055572608209,"trace_id":"97552c3d8a3c7a1b44c735891a2b8b77","type":"external","action":"dns","outcome":"success","parent_id":"3debda10db2ce47f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5cedf8fc82117d2b"}} +{"span":{"duration":0.111833,"id":"2ba3fca446637b45","name":"Connect 172.23.0.12:3000","timestamp":1646055572608519,"trace_id":"97552c3d8a3c7a1b44c735891a2b8b77","type":"external","action":"connect","outcome":"success","parent_id":"3debda10db2ce47f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5cedf8fc82117d2b"}} +{"span":{"duration":44.46575,"id":"e0812e8d03e616e3","name":"Request","timestamp":1646055572608657,"trace_id":"97552c3d8a3c7a1b44c735891a2b8b77","type":"external","action":"request","outcome":"success","parent_id":"3debda10db2ce47f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5cedf8fc82117d2b"}} +{"span":{"duration":0.607959,"id":"a4e7d76fea5c8b7b","name":"Response","timestamp":1646055572653151,"trace_id":"97552c3d8a3c7a1b44c735891a2b8b77","type":"external","action":"response","outcome":"success","parent_id":"3debda10db2ce47f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5cedf8fc82117d2b"}} +{"span":{"duration":45.679167,"id":"3debda10db2ce47f","name":"GET opbeans-ruby:3000","timestamp":1646055572608081,"trace_id":"97552c3d8a3c7a1b44c735891a2b8b77","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"5cedf8fc82117d2b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5cedf8fc82117d2b"}} +{"transaction":{"duration":45.881125000000004,"id":"5cedf8fc82117d2b","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055572608010,"trace_id":"97552c3d8a3c7a1b44c735891a2b8b77","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-97552c3d8a3c7a1b44c735891a2b8b77-e2c38bc8d81eac5b-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-97552c3d8a3c7a1b44c735891a2b8b77-e2c38bc8d81eac5b-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","X-Xss-Protection":"1; mode=block","X-Permitted-Cross-Domain-Policies":"none","Etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","Cache-Control":"max-age=0, private, must-revalidate","X-Frame-Options":"SAMEORIGIN","X-Download-Options":"noopen","Content-Type":"application/json; charset=utf-8","Referrer-Policy":"strict-origin-when-cross-origin","X-Request-Id":"db159ccd-30f4-490d-bb33-74ff250f6f23","X-Runtime":"0.035223"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e2c38bc8d81eac5b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":67.544166,"id":"5d45f57b71510427","name":"Request","timestamp":1646055572599099,"trace_id":"97552c3d8a3c7a1b44c735891a2b8b77","type":"external","action":"request","outcome":"success","parent_id":"b0eb685a93fd2dbd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2d47e0c3240bb110"}} +{"span":{"duration":0.140583,"id":"3f4ca26bac56c6f0","name":"Response","timestamp":1646055572666682,"trace_id":"97552c3d8a3c7a1b44c735891a2b8b77","type":"external","action":"response","outcome":"success","parent_id":"b0eb685a93fd2dbd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2d47e0c3240bb110"}} +{"span":{"duration":67.985667,"id":"d6567c4af9fcd94e","name":"Request","timestamp":1646055572598886,"trace_id":"97552c3d8a3c7a1b44c735891a2b8b77","type":"external","action":"request","outcome":"success","parent_id":"6366f2960d17893f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"97552c3d8a3c7a1b"}} +{"span":{"duration":67.731125,"id":"b0eb685a93fd2dbd","name":"GET opbeans-ruby:3000","timestamp":1646055572599092,"trace_id":"97552c3d8a3c7a1b44c735891a2b8b77","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"2d47e0c3240bb110","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2d47e0c3240bb110"}} +{"transaction":{"duration":68.108584,"id":"2d47e0c3240bb110","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055572599010,"trace_id":"97552c3d8a3c7a1b44c735891a2b8b77","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-97552c3d8a3c7a1b44c735891a2b8b77-6366f2960d17893f-01","Traceparent":"00-97552c3d8a3c7a1b44c735891a2b8b77-6366f2960d17893f-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6366f2960d17893f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.296709,"id":"786e1085b74f317e","name":"Response","timestamp":1646055572666882,"trace_id":"97552c3d8a3c7a1b44c735891a2b8b77","type":"external","action":"response","outcome":"success","parent_id":"6366f2960d17893f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"97552c3d8a3c7a1b"}} +{"span":{"duration":68.333625,"id":"6366f2960d17893f","name":"GET opbeans-go:3000","timestamp":1646055572598846,"trace_id":"97552c3d8a3c7a1b44c735891a2b8b77","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"97552c3d8a3c7a1b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"97552c3d8a3c7a1b"}} +{"transaction":{"duration":68.780417,"id":"97552c3d8a3c7a1b","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055572598477,"trace_id":"97552c3d8a3c7a1b44c735891a2b8b77","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:32 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":31.563792,"id":"d79da4f2d0183d6f","name":"Request","timestamp":1646055572693326,"trace_id":"1c0f9017c2d8325b0bdf389fe04b6df3","type":"external","action":"request","outcome":"success","parent_id":"5ebeebd6f9885acc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1c0f9017c2d8325b"}} +{"span":{"duration":0.078166,"id":"2f5f07b6ffe1232a","name":"Response","timestamp":1646055572724916,"trace_id":"1c0f9017c2d8325b0bdf389fe04b6df3","type":"external","action":"response","outcome":"success","parent_id":"5ebeebd6f9885acc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1c0f9017c2d8325b"}} +{"span":{"duration":31.692584000000004,"id":"5ebeebd6f9885acc","name":"GET opbeans-node:3000","timestamp":1646055572693303,"trace_id":"1c0f9017c2d8325b0bdf389fe04b6df3","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/883","status_code":200}},"outcome":"success","parent_id":"1c0f9017c2d8325b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1c0f9017c2d8325b"}} +{"transaction":{"duration":32.083583,"id":"1c0f9017c2d8325b","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055572693096,"trace_id":"1c0f9017c2d8325b0bdf389fe04b6df3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/883","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/883"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"191","Etag":"W/\"bf-MFOSJAELsSHHZMnvJ3qn7RY19ow\"","Date":"Mon, 28 Feb 2022 13:39:32 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.7593750000000001,"id":"efc09e5463021c04","name":"SELECT FROM customers","timestamp":1646055572747989,"trace_id":"5d0f7fea3fe990b1c24ac4ec3b38dde6","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5d0f7fea3fe990b1","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5d0f7fea3fe990b1"}} +{"transaction":{"duration":3.700292,"id":"5d0f7fea3fe990b1","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055572747967,"trace_id":"5d0f7fea3fe990b1c24ac4ec3b38dde6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","search":"limit=90","full":"http://opbeans-go:3000/api/products/6/customers?limit=90"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6034999999999999,"id":"722b36e9215ace5a","name":"SELECT FROM orders","timestamp":1646055572774665,"trace_id":"71cbd93f1752e75f2765709c02c5d0d8","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"71cbd93f1752e75f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"71cbd93f1752e75f"}} +{"transaction":{"duration":3.5135409999999996,"id":"71cbd93f1752e75f","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055572774644,"trace_id":"71cbd93f1752e75f2765709c02c5d0d8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.326959,"id":"ae03bbbefcdf3c50","name":"SELECT FROM product_types","timestamp":1646055572808500,"trace_id":"42de20f17a4e0595db20ddda21fda7e1","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"42de20f17a4e0595","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"42de20f17a4e0595"}} +{"transaction":{"duration":0.584958,"id":"42de20f17a4e0595","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055572808478,"trace_id":"42de20f17a4e0595db20ddda21fda7e1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":157.0905,"id":"ce02cb8cea9f515b","name":"Request","timestamp":1646055572831670,"trace_id":"d973a29d5111a45bae3a1362352cbb7a","type":"external","action":"request","outcome":"success","parent_id":"4326fb2673b5ef55","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d973a29d5111a45b"}} +{"span":{"duration":0.132916,"id":"597ab3238207d69b","name":"Response","timestamp":1646055572988802,"trace_id":"d973a29d5111a45bae3a1362352cbb7a","type":"external","action":"response","outcome":"success","parent_id":"4326fb2673b5ef55","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d973a29d5111a45b"}} +{"span":{"duration":157.293625,"id":"4326fb2673b5ef55","name":"GET opbeans-node:3000","timestamp":1646055572831642,"trace_id":"d973a29d5111a45bae3a1362352cbb7a","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"d973a29d5111a45b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d973a29d5111a45b"}} +{"transaction":{"duration":157.771125,"id":"d973a29d5111a45b","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055572831356,"trace_id":"d973a29d5111a45bae3a1362352cbb7a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"189","Etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","Date":"Mon, 28 Feb 2022 13:39:32 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":5.540458,"id":"d99ba6f162ffc049","name":"SELECT FROM products","timestamp":1646055573027220,"trace_id":"98ba3f512888e728215e9a8e53aeb73f","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"98ba3f512888e728","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"conn.go","lineno":119,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).finishSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"conn.go","lineno":139,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).QueryContext","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"ctxutil.go","lineno":48,"abs_path":"/usr/local/go/src/database/sql/ctxutil.go","function":"ctxDriverQuery","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1722,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC.func1","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":3396,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"withLock","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1717,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1700,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).query","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1674,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).QueryContext","library_frame":true,"module":"database/sql"},{"filename":"products.go","lineno":41,"abs_path":"/src/opbeans-go/products.go","function":"getTopProducts","module":"main"},{"filename":"api.go","lineno":102,"abs_path":"/src/opbeans-go/api.go","function":"apiHandlers.getProductDetails","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":200,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"postgresql","transaction_id":"98ba3f512888e728"}} +{"transaction":{"duration":6.142167,"id":"98ba3f512888e728","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055573027165,"trace_id":"98ba3f512888e728215e9a8e53aeb73f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.375791,"id":"e3fd0131b0010b8b","name":"SELECT FROM product_types","timestamp":1646055573126321,"trace_id":"ad001e55d8ea1d30c9ffb1a8d432ee1b","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c0b9843e300bae61","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c0b9843e300bae61"}} +{"transaction":{"duration":0.5167919999999999,"id":"c0b9843e300bae61","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055573126299,"trace_id":"ad001e55d8ea1d30c9ffb1a8d432ee1b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Traceparent":"00-ad001e55d8ea1d30c9ffb1a8d432ee1b-ba33999ade6db628-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-ad001e55d8ea1d30c9ffb1a8d432ee1b-ba33999ade6db628-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ba33999ade6db628","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":84.008875,"id":"d56966b6b4f26978","name":"Request","timestamp":1646055573057973,"trace_id":"ad001e55d8ea1d30c9ffb1a8d432ee1b","type":"external","action":"request","outcome":"success","parent_id":"9adaf82f4eb24946","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ad001e55d8ea1d30"}} +{"span":{"duration":0.12575,"id":"33f513df18ae7855","name":"Response","timestamp":1646055573142046,"trace_id":"ad001e55d8ea1d30c9ffb1a8d432ee1b","type":"external","action":"response","outcome":"success","parent_id":"9adaf82f4eb24946","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ad001e55d8ea1d30"}} +{"span":{"duration":84.2685,"id":"9adaf82f4eb24946","name":"GET opbeans-node:3000","timestamp":1646055573057904,"trace_id":"ad001e55d8ea1d30c9ffb1a8d432ee1b","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types","status_code":200}},"outcome":"success","parent_id":"ad001e55d8ea1d30","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ad001e55d8ea1d30"}} +{"transaction":{"duration":85.01625,"id":"ad001e55d8ea1d30","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055573057371,"trace_id":"ad001e55d8ea1d30c9ffb1a8d432ee1b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:33 GMT","Content-Length":"112","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.38745799999999997,"id":"151c08746d36aac3","name":"SELECT FROM customers","timestamp":1646055573160988,"trace_id":"2d02e7333534bfcdef3d0b7b30b7e785","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2d02e7333534bfcd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2d02e7333534bfcd"}} +{"transaction":{"duration":0.535292,"id":"2d02e7333534bfcd","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055573160941,"trace_id":"2d02e7333534bfcdef3d0b7b30b7e785","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/688","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/688"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.049334,"id":"c3ace3237db62cc5","name":"SELECT FROM customers","timestamp":1646055573180264,"trace_id":"9b22514c6a76850d54ec44f9a713f6b2","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9b22514c6a76850d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9b22514c6a76850d"}} +{"transaction":{"duration":4.081625,"id":"9b22514c6a76850d","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055573180199,"trace_id":"9b22514c6a76850d54ec44f9a713f6b2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.310291,"id":"c94a759a63fc881c","name":"SELECT FROM products","timestamp":1646055573202055,"trace_id":"adfe0fdf75d6cd7754f2a78bed03deef","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"adfe0fdf75d6cd77","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"adfe0fdf75d6cd77"}} +{"transaction":{"duration":1.5022499999999999,"id":"adfe0fdf75d6cd77","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055573202021,"trace_id":"adfe0fdf75d6cd7754f2a78bed03deef","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.36133299999999996,"id":"355dc2106b61cfc3","name":"SELECT FROM customers","timestamp":1646055573222164,"trace_id":"bcb3ce1b68d68a62baa4a61bb939d408","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"bcb3ce1b68d68a62","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"bcb3ce1b68d68a62"}} +{"transaction":{"duration":0.753042,"id":"bcb3ce1b68d68a62","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055573222125,"trace_id":"bcb3ce1b68d68a62baa4a61bb939d408","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/939","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/939"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.024917,"id":"a089423eee4021cc","name":"SELECT FROM customers","timestamp":1646055573248111,"trace_id":"caa110a260f6a5bd359090b95efbdc90","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"caa110a260f6a5bd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"caa110a260f6a5bd"}} +{"transaction":{"duration":4.652667,"id":"caa110a260f6a5bd","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055573248086,"trace_id":"caa110a260f6a5bd359090b95efbdc90","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.343417,"id":"c61c9746c6b54e0d","name":"SELECT FROM orders","timestamp":1646055573299863,"trace_id":"98b8941206990087d2c29050551be9f7","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3a6044b84db33555","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3a6044b84db33555"}} +{"span":{"duration":0.5379999999999999,"id":"71cfd719eb13c80f","name":"SELECT FROM products","timestamp":1646055573300252,"trace_id":"98b8941206990087d2c29050551be9f7","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3a6044b84db33555","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3a6044b84db33555"}} +{"transaction":{"duration":1.055042,"id":"3a6044b84db33555","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055573299846,"trace_id":"98b8941206990087d2c29050551be9f7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/203","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/203"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-98b8941206990087d2c29050551be9f7-8b8e790588940183-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-98b8941206990087d2c29050551be9f7-8b8e790588940183-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"8b8e790588940183","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":34.837417,"id":"30f8b39d50c21f5d","name":"Request","timestamp":1646055573281065,"trace_id":"98b8941206990087d2c29050551be9f7","type":"external","action":"request","outcome":"success","parent_id":"7e254c6105d7e01f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"98b8941206990087"}} +{"span":{"duration":0.158167,"id":"b3d27a2ebc4ae0fb","name":"Response","timestamp":1646055573315925,"trace_id":"98b8941206990087d2c29050551be9f7","type":"external","action":"response","outcome":"success","parent_id":"7e254c6105d7e01f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"98b8941206990087"}} +{"span":{"duration":35.039708000000005,"id":"7e254c6105d7e01f","name":"GET opbeans-ruby:3000","timestamp":1646055573281044,"trace_id":"98b8941206990087d2c29050551be9f7","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/203","status_code":200}},"outcome":"success","parent_id":"98b8941206990087","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"98b8941206990087"}} +{"transaction":{"duration":35.46225,"id":"98b8941206990087","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055573280948,"trace_id":"98b8941206990087d2c29050551be9f7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/203","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/203"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.36975,"id":"7a2728214fa37278","name":"SELECT FROM customers","timestamp":1646055573340994,"trace_id":"e26c5cb20f7493be13ac21bd4ea7037a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e26c5cb20f7493be","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e26c5cb20f7493be"}} +{"transaction":{"duration":0.5411250000000001,"id":"e26c5cb20f7493be","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055573340974,"trace_id":"e26c5cb20f7493be13ac21bd4ea7037a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/589","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/589"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.942,"id":"06b95cd03ea88d61","name":"SELECT FROM orders","timestamp":1646055573362510,"trace_id":"003eda1495bada008db5e7860090a5aa","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"003eda1495bada00","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"003eda1495bada00"}} +{"span":{"duration":1.5395,"id":"1a31e5979f4e1977","name":"SELECT FROM products","timestamp":1646055573365501,"trace_id":"003eda1495bada008db5e7860090a5aa","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"003eda1495bada00","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"003eda1495bada00"}} +{"transaction":{"duration":4.844125,"id":"003eda1495bada00","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055573362492,"trace_id":"003eda1495bada008db5e7860090a5aa","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/908","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/908"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.42691700000000005,"id":"03f69724caf74f3a","name":"SELECT FROM product_types","timestamp":1646055573384886,"trace_id":"65d1b928759f425379b2b54362577daf","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"65d1b928759f4253","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"65d1b928759f4253"}} +{"transaction":{"duration":0.554875,"id":"65d1b928759f4253","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055573384852,"trace_id":"65d1b928759f425379b2b54362577daf","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.523208,"id":"cfc9d6e0139ebfde","name":"DNS opbeans-python","timestamp":1646055573402521,"trace_id":"1675d88bb0dfe287d9b0586e354ac1da","type":"external","action":"dns","outcome":"success","parent_id":"5c2b5d5320eb3965","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1675d88bb0dfe287"}} +{"span":{"duration":0.11541699999999999,"id":"c725aef0913547cd","name":"Connect 172.23.0.11:3000","timestamp":1646055573403049,"trace_id":"1675d88bb0dfe287d9b0586e354ac1da","type":"external","action":"connect","outcome":"success","parent_id":"5c2b5d5320eb3965","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1675d88bb0dfe287"}} +{"span":{"duration":0.2875,"id":"c3a4ce690a60bd0d","name":"SELECT FROM products","timestamp":1646055573464693,"trace_id":"ae7bc882761f82205834f02d94d22f44","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4ce5310f8fd60893","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4ce5310f8fd60893"}} +{"transaction":{"duration":0.44025,"id":"4ce5310f8fd60893","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055573464674,"trace_id":"ae7bc882761f82205834f02d94d22f44","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-ae7bc882761f82205834f02d94d22f44-db553f517f7d9926-01","Elastic-Apm-Traceparent":"00-ae7bc882761f82205834f02d94d22f44-db553f517f7d9926-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"db553f517f7d9926","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":92.534917,"id":"71e0a709b3a6d974","name":"Request","timestamp":1646055573403178,"trace_id":"1675d88bb0dfe287d9b0586e354ac1da","type":"external","action":"request","outcome":"success","parent_id":"5c2b5d5320eb3965","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1675d88bb0dfe287"}} +{"span":{"duration":2.077291,"id":"f80668431c167860","name":"Response","timestamp":1646055573495739,"trace_id":"1675d88bb0dfe287d9b0586e354ac1da","type":"external","action":"response","outcome":"success","parent_id":"5c2b5d5320eb3965","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1675d88bb0dfe287"}} +{"span":{"duration":95.342,"id":"5c2b5d5320eb3965","name":"GET opbeans-python:3000","timestamp":1646055573402477,"trace_id":"1675d88bb0dfe287d9b0586e354ac1da","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"1675d88bb0dfe287","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1675d88bb0dfe287"}} +{"transaction":{"duration":95.529167,"id":"1675d88bb0dfe287","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055573402366,"trace_id":"1675d88bb0dfe287d9b0586e354ac1da","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:33 GMT","X-Frame-Options":"DENY","Content-Type":"application/json; charset=utf-8","Content-Length":"186769"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5032920000000001,"id":"652dbabff7298d28","name":"SELECT FROM products","timestamp":1646055573514920,"trace_id":"956f7822f27ff41634e68e653c9c45e3","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"956f7822f27ff416","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"956f7822f27ff416"}} +{"transaction":{"duration":0.619625,"id":"956f7822f27ff416","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055573514887,"trace_id":"956f7822f27ff41634e68e653c9c45e3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.928542,"id":"045feb84d292d643","name":"SELECT FROM orders","timestamp":1646055573533028,"trace_id":"d59df206a3c311f7d805e39bcc8dcaad","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d59df206a3c311f7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d59df206a3c311f7"}} +{"transaction":{"duration":3.0315,"id":"d59df206a3c311f7","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055573532993,"trace_id":"d59df206a3c311f7d805e39bcc8dcaad","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.27987500000000004,"id":"be8608bf11444a3c","name":"DNS opbeans-python","timestamp":1646055573556160,"trace_id":"c36b1c09db1d02194c50495c348d5a54","type":"external","action":"dns","outcome":"success","parent_id":"5efce4e5bdb0a54b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c36b1c09db1d0219"}} +{"span":{"duration":0.2515,"id":"082458155b127755","name":"Connect 172.23.0.11:3000","timestamp":1646055573556451,"trace_id":"c36b1c09db1d02194c50495c348d5a54","type":"external","action":"connect","outcome":"success","parent_id":"5efce4e5bdb0a54b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c36b1c09db1d0219"}} +{"span":{"duration":60.072041,"id":"5cad47858d6faf9c","name":"Request","timestamp":1646055573556721,"trace_id":"c36b1c09db1d02194c50495c348d5a54","type":"external","action":"request","outcome":"success","parent_id":"5efce4e5bdb0a54b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c36b1c09db1d0219"}} +{"span":{"duration":0.27125,"id":"5783886e16925bd2","name":"Response","timestamp":1646055573616817,"trace_id":"c36b1c09db1d02194c50495c348d5a54","type":"external","action":"response","outcome":"success","parent_id":"5efce4e5bdb0a54b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c36b1c09db1d0219"}} +{"span":{"duration":61.031915999999995,"id":"5efce4e5bdb0a54b","name":"GET opbeans-python:3000","timestamp":1646055573556057,"trace_id":"c36b1c09db1d02194c50495c348d5a54","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"c36b1c09db1d0219","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c36b1c09db1d0219"}} +{"transaction":{"duration":61.182792,"id":"c36b1c09db1d0219","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055573555996,"trace_id":"c36b1c09db1d02194c50495c348d5a54","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Content-Length":"83","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:33 GMT","Vary":"Cookie","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":29.782209,"id":"7eef0adf1fe5716a","name":"Request","timestamp":1646055573635132,"trace_id":"0b1f437d597fe846bd0feb7d86d4732b","type":"external","action":"request","outcome":"success","parent_id":"46de77ce1a8b3201","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0b1f437d597fe846"}} +{"span":{"duration":0.074916,"id":"88fd7aa1a89628c2","name":"Response","timestamp":1646055573664959,"trace_id":"0b1f437d597fe846bd0feb7d86d4732b","type":"external","action":"response","outcome":"success","parent_id":"46de77ce1a8b3201","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0b1f437d597fe846"}} +{"span":{"duration":29.92375,"id":"46de77ce1a8b3201","name":"GET opbeans-ruby:3000","timestamp":1646055573635111,"trace_id":"0b1f437d597fe846bd0feb7d86d4732b","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/3/customers?limit=60","status_code":200}},"outcome":"success","parent_id":"0b1f437d597fe846","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0b1f437d597fe846"}} +{"transaction":{"duration":32.116084,"id":"0b1f437d597fe846","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055573635020,"trace_id":"0b1f437d597fe846bd0feb7d86d4732b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","search":"limit=60","full":"http://opbeans-go:3000/api/products/3/customers?limit=60"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Vary":"Accept","Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"ae6099c5-93d0-41ae-b08b-0d1bfbb6286d","X-Download-Options":"noopen","Etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","X-Frame-Options":"SAMEORIGIN","X-Runtime":"0.021713","X-Xss-Protection":"1; mode=block","X-Content-Type-Options":"nosniff","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.38249999999999995,"id":"4db294b2c90aa7a0","name":"SELECT FROM customers","timestamp":1646055573684658,"trace_id":"5450f74dd702b2555cb87e18c10b94c0","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5450f74dd702b255","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5450f74dd702b255"}} +{"span":{"duration":0.11670799999999999,"id":"b05a48061f0c12ce","name":"INSERT INTO order_lines","timestamp":1646055573685250,"trace_id":"5450f74dd702b2555cb87e18c10b94c0","type":"db","action":"prepare","context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5450f74dd702b255","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5450f74dd702b255"}} +{"span":{"duration":0.395916,"id":"bb8b6d4098ebfa2c","name":"INSERT INTO orders","timestamp":1646055573685372,"trace_id":"5450f74dd702b2555cb87e18c10b94c0","type":"db","action":"query","context":{"db":{"statement":"INSERT INTO orders (customer_id) VALUES ($1) RETURNING id","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5450f74dd702b255","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5450f74dd702b255"}} +{"span":{"duration":0.15875,"id":"e84593f90cab5bb3","name":"INSERT INTO order_lines","timestamp":1646055573685781,"trace_id":"5450f74dd702b2555cb87e18c10b94c0","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5450f74dd702b255","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5450f74dd702b255"}} +{"span":{"duration":0.075,"id":"d4eaded53bc25c99","name":"INSERT INTO order_lines","timestamp":1646055573685943,"trace_id":"5450f74dd702b2555cb87e18c10b94c0","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5450f74dd702b255","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5450f74dd702b255"}} +{"span":{"duration":0.078875,"id":"03cad15e4393127e","name":"INSERT INTO order_lines","timestamp":1646055573686020,"trace_id":"5450f74dd702b2555cb87e18c10b94c0","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5450f74dd702b255","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5450f74dd702b255"}} +{"span":{"duration":0.104125,"id":"4cb9883b4eca516c","name":"INSERT INTO order_lines","timestamp":1646055573686100,"trace_id":"5450f74dd702b2555cb87e18c10b94c0","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5450f74dd702b255","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5450f74dd702b255"}} +{"transaction":{"duration":2.9115,"id":"5450f74dd702b255","name":"POST /api/orders","span_count":{"dropped":0,"started":7},"timestamp":1646055573684316,"trace_id":"5450f74dd702b2555cb87e18c10b94c0","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"127","Content-Type":"text/plain; charset=utf-8"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"customer_name":"Marilyn Williamson","customer_email":"mwilliamsonaq@imdb.com"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.52075,"id":"1220220d82e86c71","name":"DNS opbeans-node","timestamp":1646055573706144,"trace_id":"74d28ed4ea91e0546b581a5124ff949b","type":"external","action":"dns","outcome":"success","parent_id":"40b0fcd4e06e9538","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"74d28ed4ea91e054"}} +{"span":{"duration":0.153458,"id":"738c0be63d9009ef","name":"Connect 172.23.0.10:3000","timestamp":1646055573708671,"trace_id":"74d28ed4ea91e0546b581a5124ff949b","type":"external","action":"connect","outcome":"success","parent_id":"40b0fcd4e06e9538","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"74d28ed4ea91e054"}} +{"span":{"duration":94.65662499999999,"id":"a8d6c2fc9036638f","name":"Request","timestamp":1646055573708837,"trace_id":"74d28ed4ea91e0546b581a5124ff949b","type":"external","action":"request","outcome":"success","parent_id":"40b0fcd4e06e9538","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"74d28ed4ea91e054"}} +{"span":{"duration":0.18837500000000001,"id":"953d542068e08fb6","name":"Response","timestamp":1646055573803520,"trace_id":"74d28ed4ea91e0546b581a5124ff949b","type":"external","action":"response","outcome":"success","parent_id":"40b0fcd4e06e9538","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"74d28ed4ea91e054"}} +{"span":{"duration":97.615041,"id":"40b0fcd4e06e9538","name":"GET opbeans-node:3000","timestamp":1646055573706094,"trace_id":"74d28ed4ea91e0546b581a5124ff949b","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/205","status_code":200}},"outcome":"success","parent_id":"74d28ed4ea91e054","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"74d28ed4ea91e054"}} +{"transaction":{"duration":97.910334,"id":"74d28ed4ea91e054","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055573705897,"trace_id":"74d28ed4ea91e0546b581a5124ff949b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/205","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/205"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:33 GMT","X-Powered-By":"Express","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.268708,"id":"9e5dec4b6614928d","name":"DNS opbeans-node","timestamp":1646055573821055,"trace_id":"67ca42f04ddd35ee0ff48161c92057c9","type":"external","action":"dns","outcome":"success","parent_id":"66199449b66ceb77","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"67ca42f04ddd35ee"}} +{"span":{"duration":0.114083,"id":"342f15f2637b13c2","name":"Connect 172.23.0.10:3000","timestamp":1646055573821329,"trace_id":"67ca42f04ddd35ee0ff48161c92057c9","type":"external","action":"connect","outcome":"success","parent_id":"66199449b66ceb77","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"67ca42f04ddd35ee"}} +{"span":{"duration":12.898416,"id":"0c1bd745f0b8f770","name":"Request","timestamp":1646055573821454,"trace_id":"67ca42f04ddd35ee0ff48161c92057c9","type":"external","action":"request","outcome":"success","parent_id":"66199449b66ceb77","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"67ca42f04ddd35ee"}} +{"span":{"duration":0.057374999999999995,"id":"b693bcd551e01f1b","name":"Response","timestamp":1646055573834391,"trace_id":"67ca42f04ddd35ee0ff48161c92057c9","type":"external","action":"response","outcome":"success","parent_id":"66199449b66ceb77","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"67ca42f04ddd35ee"}} +{"span":{"duration":13.437875,"id":"66199449b66ceb77","name":"GET opbeans-node:3000","timestamp":1646055573821011,"trace_id":"67ca42f04ddd35ee0ff48161c92057c9","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/3","status_code":200}},"outcome":"success","parent_id":"67ca42f04ddd35ee","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"67ca42f04ddd35ee"}} +{"transaction":{"duration":13.660416999999999,"id":"67ca42f04ddd35ee","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055573820941,"trace_id":"67ca42f04ddd35ee0ff48161c92057c9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"231","Etag":"W/\"e7-kkuzj37GZDzXDh0CWqh5Gan0VO4\"","Date":"Mon, 28 Feb 2022 13:39:33 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.474541,"id":"6f7684f7cbd08006","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055573852317,"trace_id":"6f7684f7cbd08006debd26a94d8f12e5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":16.168126,"id":"4a702815e2255d28","name":"Request","timestamp":1646055573880138,"trace_id":"c8f978ad8d9fd45a43beecd2700caacc","type":"external","action":"request","outcome":"success","parent_id":"c1752be0c6a59250","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c3b0aef335862016"}} +{"span":{"duration":0.32504099999999997,"id":"41273aed9a17a743","name":"Response","timestamp":1646055573896336,"trace_id":"c8f978ad8d9fd45a43beecd2700caacc","type":"external","action":"response","outcome":"success","parent_id":"c1752be0c6a59250","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c3b0aef335862016"}} +{"span":{"duration":16.543334,"id":"c1752be0c6a59250","name":"GET opbeans-ruby:3000","timestamp":1646055573880120,"trace_id":"c8f978ad8d9fd45a43beecd2700caacc","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"c3b0aef335862016","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c3b0aef335862016"}} +{"transaction":{"duration":16.883417,"id":"c3b0aef335862016","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055573880017,"trace_id":"c8f978ad8d9fd45a43beecd2700caacc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-c8f978ad8d9fd45a43beecd2700caacc-1faf6394a6dc6826-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-c8f978ad8d9fd45a43beecd2700caacc-1faf6394a6dc6826-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Xss-Protection":"1; mode=block","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","Cache-Control":"max-age=0, private, must-revalidate","Etag":"W/\"32a6f2ac22b5ec871f35104a05ba3759\"","X-Content-Type-Options":"nosniff","Referrer-Policy":"strict-origin-when-cross-origin","X-Runtime":"0.011170","X-Request-Id":"dcf29179-dd52-45dc-9c10-f7436b430b29","X-Frame-Options":"SAMEORIGIN","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"1faf6394a6dc6826","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":37.119251,"id":"28858caee8de2963","name":"Request","timestamp":1646055573871789,"trace_id":"c8f978ad8d9fd45a43beecd2700caacc","type":"external","action":"request","outcome":"success","parent_id":"4107420a496f1377","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c8f978ad8d9fd45a"}} +{"span":{"duration":0.185875,"id":"6d92e8e060343210","name":"Response","timestamp":1646055573908936,"trace_id":"c8f978ad8d9fd45a43beecd2700caacc","type":"external","action":"response","outcome":"success","parent_id":"4107420a496f1377","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c8f978ad8d9fd45a"}} +{"span":{"duration":37.351292,"id":"4107420a496f1377","name":"GET opbeans-ruby:3000","timestamp":1646055573871771,"trace_id":"c8f978ad8d9fd45a43beecd2700caacc","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"c8f978ad8d9fd45a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c8f978ad8d9fd45a"}} +{"transaction":{"duration":37.756959,"id":"c8f978ad8d9fd45a","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055573871711,"trace_id":"c8f978ad8d9fd45a43beecd2700caacc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.454167,"id":"03001a578d6160ee","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055573913045,"trace_id":"f1d003990299e9a6108b3eb9299c63d3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-f1d003990299e9a6108b3eb9299c63d3-c510f51e58951951-01","Elastic-Apm-Traceparent":"00-f1d003990299e9a6108b3eb9299c63d3-c510f51e58951951-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"c510f51e58951951","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.262375,"id":"1083c76aa09629f2","name":"SELECT FROM customers","timestamp":1646055573928219,"trace_id":"e338bb8bed472571cd75298d7ccd794f","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e338bb8bed472571","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e338bb8bed472571"}} +{"transaction":{"duration":1.9482499999999998,"id":"e338bb8bed472571","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055573928203,"trace_id":"e338bb8bed472571cd75298d7ccd794f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.626125,"id":"42e185d731fc6298","name":"DNS opbeans-python","timestamp":1646055573952272,"trace_id":"bd5faf2911a6ebc33686be5c3d3509bc","type":"external","action":"dns","outcome":"success","parent_id":"554e6a48a431080a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bd5faf2911a6ebc3"}} +{"span":{"duration":0.137041,"id":"571b326d1350563b","name":"Connect 172.23.0.11:3000","timestamp":1646055573952904,"trace_id":"bd5faf2911a6ebc33686be5c3d3509bc","type":"external","action":"connect","outcome":"success","parent_id":"554e6a48a431080a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bd5faf2911a6ebc3"}} +{"span":{"duration":52.517292,"id":"fb8378bddcc7c344","name":"Request","timestamp":1646055574935060,"trace_id":"5bbfa5212169624d91f7f551040bb7c2","type":"external","action":"request","outcome":"success","parent_id":"510420c53b274a79","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8dd42ea3485b972b"}} +{"span":{"duration":0.1915,"id":"87e280253722fc0c","name":"Response","timestamp":1646055574987604,"trace_id":"5bbfa5212169624d91f7f551040bb7c2","type":"external","action":"response","outcome":"success","parent_id":"510420c53b274a79","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8dd42ea3485b972b"}} +{"span":{"duration":52.756709,"id":"510420c53b274a79","name":"GET opbeans-node:3000","timestamp":1646055574935039,"trace_id":"5bbfa5212169624d91f7f551040bb7c2","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/3/customers?limit=80","status_code":200}},"outcome":"success","parent_id":"8dd42ea3485b972b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8dd42ea3485b972b"}} +{"transaction":{"duration":53.185125,"id":"8dd42ea3485b972b","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055574934810,"trace_id":"5bbfa5212169624d91f7f551040bb7c2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","search":"limit=80","full":"http://opbeans-go:3000/api/products/3/customers?limit=80"},"headers":{"Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-5bbfa5212169624d91f7f551040bb7c2-4011d12bb8f3bb82-01","Elastic-Apm-Traceparent":"00-5bbfa5212169624d91f7f551040bb7c2-4011d12bb8f3bb82-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Cache-Control":"max-age=0, private, must-revalidate","X-Download-Options":"noopen","X-Request-Id":"db5b4db6-0cea-48ce-941b-16522ab620c2","Date":"Mon, 28 Feb 2022 13:39:34 GMT","X-Xss-Protection":"1; mode=block","X-Powered-By":"Express","X-Permitted-Cross-Domain-Policies":"none","X-Frame-Options":"SAMEORIGIN","Referrer-Policy":"strict-origin-when-cross-origin","Etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","X-Content-Type-Options":"nosniff","X-Runtime":"0.023094"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"4011d12bb8f3bb82","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.36820800000000004,"id":"c4863320d5297969","name":"DNS opbeans-node","timestamp":1646055575407007,"trace_id":"e2bfaa2e80f5f9f7c5232bf6aba2d791","type":"external","action":"dns","outcome":"success","parent_id":"a0a0dc2dc313976f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c19c0bceff96aa08"}} +{"span":{"duration":0.105375,"id":"fb252938c915c0a3","name":"Connect 172.23.0.10:3000","timestamp":1646055575407383,"trace_id":"e2bfaa2e80f5f9f7c5232bf6aba2d791","type":"external","action":"connect","outcome":"success","parent_id":"a0a0dc2dc313976f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c19c0bceff96aa08"}} +{"span":{"duration":0.304375,"id":"5f55b8790558dc5b","name":"SELECT FROM product_types","timestamp":1646055575419303,"trace_id":"e2bfaa2e80f5f9f7c5232bf6aba2d791","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f163a9c88eb19e4c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f163a9c88eb19e4c"}} +{"transaction":{"duration":0.383958,"id":"f163a9c88eb19e4c","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055575419292,"trace_id":"e2bfaa2e80f5f9f7c5232bf6aba2d791","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Traceparent":"00-e2bfaa2e80f5f9f7c5232bf6aba2d791-d539b38ad474bec4-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.10","Accept-Encoding":"gzip","Elastic-Apm-Traceparent":"00-e2bfaa2e80f5f9f7c5232bf6aba2d791-d539b38ad474bec4-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d539b38ad474bec4","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.603041,"id":"df02a097b2fb1e65","name":"Request","timestamp":1646055575419176,"trace_id":"e2bfaa2e80f5f9f7c5232bf6aba2d791","type":"external","action":"request","outcome":"success","parent_id":"d539b38ad474bec4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0b9d77bebb688ace"}} +{"span":{"duration":0.020792,"id":"51e26b3a2218d7e6","name":"Response","timestamp":1646055575419789,"trace_id":"e2bfaa2e80f5f9f7c5232bf6aba2d791","type":"external","action":"response","outcome":"success","parent_id":"d539b38ad474bec4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0b9d77bebb688ace"}} +{"span":{"duration":0.728459,"id":"d539b38ad474bec4","name":"GET opbeans-go:3000","timestamp":1646055575419082,"trace_id":"e2bfaa2e80f5f9f7c5232bf6aba2d791","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types","status_code":200}},"outcome":"success","parent_id":"0b9d77bebb688ace","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0b9d77bebb688ace"}} +{"transaction":{"duration":0.8402919999999999,"id":"0b9d77bebb688ace","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055575419000,"trace_id":"e2bfaa2e80f5f9f7c5232bf6aba2d791","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Elastic-Apm-Traceparent":"00-e2bfaa2e80f5f9f7c5232bf6aba2d791-ad8cc1a45716c7c3-01","Connection":"close","Traceparent":"00-e2bfaa2e80f5f9f7c5232bf6aba2d791-ad8cc1a45716c7c3-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:35 GMT","Content-Length":"112"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ad8cc1a45716c7c3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":16.622584,"id":"49d51495b581fc8b","name":"Request","timestamp":1646055575407499,"trace_id":"e2bfaa2e80f5f9f7c5232bf6aba2d791","type":"external","action":"request","outcome":"success","parent_id":"a0a0dc2dc313976f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c19c0bceff96aa08"}} +{"span":{"duration":0.08366699999999999,"id":"4cc0616eeaefd539","name":"Response","timestamp":1646055575424147,"trace_id":"e2bfaa2e80f5f9f7c5232bf6aba2d791","type":"external","action":"response","outcome":"success","parent_id":"a0a0dc2dc313976f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c19c0bceff96aa08"}} +{"span":{"duration":17.284083,"id":"a0a0dc2dc313976f","name":"GET opbeans-node:3000","timestamp":1646055575406947,"trace_id":"e2bfaa2e80f5f9f7c5232bf6aba2d791","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types","status_code":200}},"outcome":"success","parent_id":"c19c0bceff96aa08","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c19c0bceff96aa08"}} +{"transaction":{"duration":17.687,"id":"c19c0bceff96aa08","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055575406754,"trace_id":"e2bfaa2e80f5f9f7c5232bf6aba2d791","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-e2bfaa2e80f5f9f7c5232bf6aba2d791-d04e83c472f8afec-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-e2bfaa2e80f5f9f7c5232bf6aba2d791-d04e83c472f8afec-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Powered-By":"Express","Content-Length":"112","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:35 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d04e83c472f8afec","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.509208,"id":"821d7217f97d888c","name":"SELECT FROM products","timestamp":1646055576073882,"trace_id":"de81be6271c23db6b791bd12edfafd8f","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c1ec2c79d6b93970","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c1ec2c79d6b93970"}} +{"transaction":{"duration":1.5017909999999999,"id":"c1ec2c79d6b93970","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055576073855,"trace_id":"de81be6271c23db6b791bd12edfafd8f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Elastic-Apm-Traceparent":"00-de81be6271c23db6b791bd12edfafd8f-a6acda087c0cddcd-01","Traceparent":"00-de81be6271c23db6b791bd12edfafd8f-a6acda087c0cddcd-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.11","User-Agent":"python-requests/2.27.1","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a6acda087c0cddcd","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.160792,"id":"d0ae5e2683dae5a7","name":"Request","timestamp":1646055576073776,"trace_id":"de81be6271c23db6b791bd12edfafd8f","type":"external","action":"request","outcome":"success","parent_id":"a6acda087c0cddcd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6c80a43f0be97a1b"}} +{"span":{"duration":0.217,"id":"cfcbdb1a428fd0c1","name":"Response","timestamp":1646055576075942,"trace_id":"de81be6271c23db6b791bd12edfafd8f","type":"external","action":"response","outcome":"success","parent_id":"a6acda087c0cddcd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6c80a43f0be97a1b"}} +{"span":{"duration":2.410958,"id":"a6acda087c0cddcd","name":"GET opbeans-go:3000","timestamp":1646055576073749,"trace_id":"de81be6271c23db6b791bd12edfafd8f","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products","status_code":200}},"outcome":"success","parent_id":"6c80a43f0be97a1b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6c80a43f0be97a1b"}} +{"transaction":{"duration":2.673625,"id":"6c80a43f0be97a1b","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055576073635,"trace_id":"de81be6271c23db6b791bd12edfafd8f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-de81be6271c23db6b791bd12edfafd8f-b92e1f551bb55d1a-01","Elastic-Apm-Traceparent":"00-de81be6271c23db6b791bd12edfafd8f-b92e1f551bb55d1a-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:36 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b92e1f551bb55d1a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.315083,"id":"f2fc00a3c7ce5f8f","name":"SELECT FROM product_types","timestamp":1646055576503725,"trace_id":"3efc2dec66fca4ba1d33a0e20eb026cb","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"19687b40e4ee9236","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"19687b40e4ee9236"}} +{"transaction":{"duration":0.583083,"id":"19687b40e4ee9236","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055576503673,"trace_id":"3efc2dec66fca4ba1d33a0e20eb026cb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Connection":"keep-alive","Traceparent":"00-3efc2dec66fca4ba1d33a0e20eb026cb-f0a89ac2dea02748-01","Elastic-Apm-Traceparent":"00-3efc2dec66fca4ba1d33a0e20eb026cb-f0a89ac2dea02748-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f0a89ac2dea02748","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":24.623917,"id":"5da9596fcabf8c11","name":"Request","timestamp":1646055576635309,"trace_id":"6b7e89af28c715f9cad02365b7ea088e","type":"external","action":"request","outcome":"success","parent_id":"0593f78733c5d79e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"96cfaab14e8a5e85"}} +{"span":{"duration":0.149917,"id":"7b05747808480e57","name":"Response","timestamp":1646055576659964,"trace_id":"6b7e89af28c715f9cad02365b7ea088e","type":"external","action":"response","outcome":"success","parent_id":"0593f78733c5d79e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"96cfaab14e8a5e85"}} +{"span":{"duration":24.822750000000003,"id":"0593f78733c5d79e","name":"GET opbeans-ruby:3000","timestamp":1646055576635292,"trace_id":"6b7e89af28c715f9cad02365b7ea088e","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/3","status_code":200}},"outcome":"success","parent_id":"96cfaab14e8a5e85","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"96cfaab14e8a5e85"}} +{"transaction":{"duration":25.2635,"id":"96cfaab14e8a5e85","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055576635173,"trace_id":"6b7e89af28c715f9cad02365b7ea088e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"Traceparent":"00-6b7e89af28c715f9cad02365b7ea088e-8c56ee9a25ff4b6f-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-6b7e89af28c715f9cad02365b7ea088e-8c56ee9a25ff4b6f-01","Connection":"close","User-Agent":"http.rb/5.0.4"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Frame-Options":"SAMEORIGIN","Referrer-Policy":"strict-origin-when-cross-origin","X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","Cache-Control":"max-age=0, private, must-revalidate","Etag":"W/\"1ce5f07eb209579387a0d0e47f65c376\"","X-Request-Id":"ee5ffa8e-ab7d-4acb-817f-f82d84e0dd88","X-Runtime":"0.017193","X-Xss-Protection":"1; mode=block","X-Permitted-Cross-Domain-Policies":"none","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"8c56ee9a25ff4b6f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.327209,"id":"4c2c2af9ca8d94aa","name":"SELECT FROM products","timestamp":1646055576731619,"trace_id":"de35a540ca480af6889afff88d8dcbc9","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f013bb15b91341d2","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f013bb15b91341d2"}} +{"transaction":{"duration":1.457541,"id":"f013bb15b91341d2","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055576731601,"trace_id":"de35a540ca480af6889afff88d8dcbc9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-de35a540ca480af6889afff88d8dcbc9-33acd62c8e56bb84-01","Connection":"close","Traceparent":"00-de35a540ca480af6889afff88d8dcbc9-33acd62c8e56bb84-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"33acd62c8e56bb84","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.29525,"id":"b8c8ff28bbcedb57","name":"DNS opbeans-python","timestamp":1646055576804870,"trace_id":"61df6f1114d2f29dd22fc61fef644c7b","type":"external","action":"dns","outcome":"success","parent_id":"3fc3283f485262ca","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"11f4d9feae97e477"}} +{"span":{"duration":0.14400000000000002,"id":"4430d0baeaf248a6","name":"Connect 172.23.0.11:3000","timestamp":1646055576805170,"trace_id":"61df6f1114d2f29dd22fc61fef644c7b","type":"external","action":"connect","outcome":"success","parent_id":"3fc3283f485262ca","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"11f4d9feae97e477"}} +{"span":{"duration":90.001917,"id":"17846c2839fbe543","name":"Request","timestamp":1646055576805341,"trace_id":"61df6f1114d2f29dd22fc61fef644c7b","type":"external","action":"request","outcome":"success","parent_id":"3fc3283f485262ca","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"11f4d9feae97e477"}} +{"span":{"duration":8.608542,"id":"eab1666ee98eba3c","name":"Response","timestamp":1646055576895379,"trace_id":"61df6f1114d2f29dd22fc61fef644c7b","type":"external","action":"response","outcome":"success","parent_id":"3fc3283f485262ca","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"11f4d9feae97e477"}} +{"span":{"duration":99.230625,"id":"3fc3283f485262ca","name":"GET opbeans-python:3000","timestamp":1646055576804797,"trace_id":"61df6f1114d2f29dd22fc61fef644c7b","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"11f4d9feae97e477","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"11f4d9feae97e477"}} +{"transaction":{"duration":99.65808299999999,"id":"11f4d9feae97e477","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055576804628,"trace_id":"61df6f1114d2f29dd22fc61fef644c7b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Traceparent":"00-61df6f1114d2f29dd22fc61fef644c7b-e56709c03fb01378-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-61df6f1114d2f29dd22fc61fef644c7b-e56709c03fb01378-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Frame-Options":"DENY","Content-Length":"203686","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:36 GMT","Vary":"Cookie","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e56709c03fb01378","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":90.20170800000001,"id":"6af7502bfe309c69","name":"Request","timestamp":1646055577409166,"trace_id":"023d6e81b1b9dae8f2f015ae04d54174","type":"external","action":"request","outcome":"success","parent_id":"c71409e24b2199ad","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"620a70994742d0b6"}} +{"span":{"duration":0.121833,"id":"4be650d8be9d8384","name":"Response","timestamp":1646055577499394,"trace_id":"023d6e81b1b9dae8f2f015ae04d54174","type":"external","action":"response","outcome":"success","parent_id":"c71409e24b2199ad","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"620a70994742d0b6"}} +{"span":{"duration":90.553042,"id":"b79430cbe972a5ad","name":"Request","timestamp":1646055577409027,"trace_id":"023d6e81b1b9dae8f2f015ae04d54174","type":"external","action":"request","outcome":"success","parent_id":"0e15bfbc77651e41","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"18ed56b74599a19b"}} +{"span":{"duration":90.371792,"id":"c71409e24b2199ad","name":"GET opbeans-ruby:3000","timestamp":1646055577409144,"trace_id":"023d6e81b1b9dae8f2f015ae04d54174","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/5","status_code":200}},"outcome":"success","parent_id":"620a70994742d0b6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"620a70994742d0b6"}} +{"transaction":{"duration":90.639375,"id":"620a70994742d0b6","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055577409100,"trace_id":"023d6e81b1b9dae8f2f015ae04d54174","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5"},"headers":{"Accept-Encoding":"gzip","User-Agent":"http.rb/5.0.4","Elastic-Apm-Traceparent":"00-023d6e81b1b9dae8f2f015ae04d54174-0e15bfbc77651e41-01","Traceparent":"00-023d6e81b1b9dae8f2f015ae04d54174-0e15bfbc77651e41-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.12"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"0e15bfbc77651e41","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.176875,"id":"5d9f8f7189d102df","name":"Response","timestamp":1646055577499587,"trace_id":"023d6e81b1b9dae8f2f015ae04d54174","type":"external","action":"response","outcome":"success","parent_id":"0e15bfbc77651e41","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"18ed56b74599a19b"}} +{"span":{"duration":90.8405,"id":"0e15bfbc77651e41","name":"GET opbeans-go:3000","timestamp":1646055577408924,"trace_id":"023d6e81b1b9dae8f2f015ae04d54174","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/5","status_code":200}},"outcome":"success","parent_id":"18ed56b74599a19b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"18ed56b74599a19b"}} +{"transaction":{"duration":91.046625,"id":"18ed56b74599a19b","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055577408806,"trace_id":"023d6e81b1b9dae8f2f015ae04d54174","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5"},"headers":{"Elastic-Apm-Traceparent":"00-023d6e81b1b9dae8f2f015ae04d54174-ef90e63bb194c685-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-023d6e81b1b9dae8f2f015ae04d54174-ef90e63bb194c685-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:39:37 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ef90e63bb194c685","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":4656.157919,"id":"dd1fe58763ba93db","name":"Request","timestamp":1646055573953054,"trace_id":"bd5faf2911a6ebc33686be5c3d3509bc","type":"external","action":"request","outcome":"success","parent_id":"554e6a48a431080a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bd5faf2911a6ebc3"}} +{"span":{"duration":0.567584,"id":"2409f5b6c6608673","name":"Response","timestamp":1646055578609238,"trace_id":"bd5faf2911a6ebc33686be5c3d3509bc","type":"external","action":"response","outcome":"success","parent_id":"554e6a48a431080a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bd5faf2911a6ebc3"}} +{"span":{"duration":4657.58471,"id":"554e6a48a431080a","name":"GET opbeans-python:3000","timestamp":1646055573952222,"trace_id":"bd5faf2911a6ebc33686be5c3d3509bc","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"bd5faf2911a6ebc3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bd5faf2911a6ebc3"}} +{"transaction":{"duration":4657.844752,"id":"bd5faf2911a6ebc3","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055573952150,"trace_id":"bd5faf2911a6ebc33686be5c3d3509bc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:38 GMT","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Server":"gunicorn","Content-Type":"application/json","Content-Length":"108580","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":24.138791,"id":"00dd7fd87c9f6530","name":"Request","timestamp":1646055578632106,"trace_id":"afcfcbc545d081ef34a8878354b55aa1","type":"external","action":"request","outcome":"success","parent_id":"e6e00de39be6cac1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"afcfcbc545d081ef"}} +{"span":{"duration":0.158541,"id":"4d18c33bea5bcb04","name":"Response","timestamp":1646055578656269,"trace_id":"afcfcbc545d081ef34a8878354b55aa1","type":"external","action":"response","outcome":"success","parent_id":"e6e00de39be6cac1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"afcfcbc545d081ef"}} +{"span":{"duration":24.350041,"id":"e6e00de39be6cac1","name":"GET opbeans-ruby:3000","timestamp":1646055578632078,"trace_id":"afcfcbc545d081ef34a8878354b55aa1","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"afcfcbc545d081ef","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"afcfcbc545d081ef"}} +{"transaction":{"duration":24.640583,"id":"afcfcbc545d081ef","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055578631974,"trace_id":"afcfcbc545d081ef34a8878354b55aa1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"strict-origin-when-cross-origin","Cache-Control":"max-age=0, private, must-revalidate","X-Permitted-Cross-Domain-Policies":"none","X-Request-Id":"b51640d5-7470-4fdc-b171-95da3602d65f","X-Runtime":"0.016657","X-Content-Type-Options":"nosniff","Etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","X-Frame-Options":"SAMEORIGIN","X-Xss-Protection":"1; mode=block","Vary":"Accept","X-Download-Options":"noopen","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5042500000000001,"id":"96746372e0a79e8e","name":"DNS opbeans-python","timestamp":1646055578676238,"trace_id":"b03a615c582debbae24c7f10ace6865b","type":"external","action":"dns","outcome":"success","parent_id":"bdb067a8026e2e7a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b03a615c582debba"}} +{"span":{"duration":0.089958,"id":"e8c0cc0245d8389b","name":"Connect 172.23.0.11:3000","timestamp":1646055578676747,"trace_id":"b03a615c582debbae24c7f10ace6865b","type":"external","action":"connect","outcome":"success","parent_id":"bdb067a8026e2e7a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b03a615c582debba"}} +{"span":{"duration":102.108542,"id":"96c1bca2542dc39c","name":"Request","timestamp":1646055580766272,"trace_id":"31940e28950ca4f7113f8e487d54cebb","type":"external","action":"request","outcome":"success","parent_id":"3aedf6f9ed68b2ab","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"36ae2aa6bb4a10a1"}} +{"span":{"duration":102.676792,"id":"b44fad4a115d5306","name":"Request","timestamp":1646055580765987,"trace_id":"31940e28950ca4f7113f8e487d54cebb","type":"external","action":"request","outcome":"success","parent_id":"d2da3bfc680f7e4d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"31940e28950ca4f7"}} +{"span":{"duration":0.307917,"id":"3cfd336cfc60d438","name":"Response","timestamp":1646055580868408,"trace_id":"31940e28950ca4f7113f8e487d54cebb","type":"external","action":"response","outcome":"success","parent_id":"3aedf6f9ed68b2ab","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"36ae2aa6bb4a10a1"}} +{"span":{"duration":102.46662500000001,"id":"3aedf6f9ed68b2ab","name":"GET opbeans-ruby:3000","timestamp":1646055580766256,"trace_id":"31940e28950ca4f7113f8e487d54cebb","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"36ae2aa6bb4a10a1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"36ae2aa6bb4a10a1"}} +{"transaction":{"duration":102.712875,"id":"36ae2aa6bb4a10a1","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055580766134,"trace_id":"31940e28950ca4f7113f8e487d54cebb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"Elastic-Apm-Traceparent":"00-31940e28950ca4f7113f8e487d54cebb-d2da3bfc680f7e4d-01","Traceparent":"00-31940e28950ca4f7113f8e487d54cebb-d2da3bfc680f7e4d-01","Tracestate":"es=s:1","X-Forwarded-For":"127.0.0.1","User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d2da3bfc680f7e4d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.274375,"id":"8c7632fa567543e5","name":"Response","timestamp":1646055580868671,"trace_id":"31940e28950ca4f7113f8e487d54cebb","type":"external","action":"response","outcome":"success","parent_id":"d2da3bfc680f7e4d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"31940e28950ca4f7"}} +{"span":{"duration":102.99445899999999,"id":"d2da3bfc680f7e4d","name":"GET opbeans-go:3000","timestamp":1646055580765952,"trace_id":"31940e28950ca4f7113f8e487d54cebb","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"31940e28950ca4f7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"31940e28950ca4f7"}} +{"transaction":{"duration":103.35925,"id":"31940e28950ca4f7","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055580765664,"trace_id":"31940e28950ca4f7113f8e487d54cebb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:40 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.124291,"id":"bec3997d5308153f","name":"SELECT FROM customers","timestamp":1646055581179997,"trace_id":"20432cc27f88c3072cf358c6542da056","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d66ace067a09ee57","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d66ace067a09ee57"}} +{"transaction":{"duration":4.859375,"id":"d66ace067a09ee57","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055581179974,"trace_id":"20432cc27f88c3072cf358c6542da056","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-20432cc27f88c3072cf358c6542da056-b154b233126b8f9c-01","Elastic-Apm-Traceparent":"00-20432cc27f88c3072cf358c6542da056-b154b233126b8f9c-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b154b233126b8f9c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6741670000000001,"id":"e80ae497c230193a","name":"DNS opbeans-node","timestamp":1646055581665737,"trace_id":"2e71a78690a8edfc2f8fe3f5fc880bb7","type":"external","action":"dns","outcome":"success","parent_id":"63e8e16b2c12d999","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"144b425999655932"}} +{"span":{"duration":0.285208,"id":"4bc28ab19fb81c7c","name":"Connect 172.23.0.10:3000","timestamp":1646055581666419,"trace_id":"2e71a78690a8edfc2f8fe3f5fc880bb7","type":"external","action":"connect","outcome":"success","parent_id":"63e8e16b2c12d999","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"144b425999655932"}} +{"span":{"duration":103.533084,"id":"8d034dce83631228","name":"Request","timestamp":1646055581666741,"trace_id":"2e71a78690a8edfc2f8fe3f5fc880bb7","type":"external","action":"request","outcome":"success","parent_id":"63e8e16b2c12d999","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"144b425999655932"}} +{"span":{"duration":5.03125,"id":"c3af3769f248c8c9","name":"Response","timestamp":1646055581770301,"trace_id":"2e71a78690a8edfc2f8fe3f5fc880bb7","type":"external","action":"response","outcome":"success","parent_id":"63e8e16b2c12d999","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"144b425999655932"}} +{"span":{"duration":109.771333,"id":"63e8e16b2c12d999","name":"GET opbeans-node:3000","timestamp":1646055581665609,"trace_id":"2e71a78690a8edfc2f8fe3f5fc880bb7","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"144b425999655932","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"144b425999655932"}} +{"transaction":{"duration":110.1665,"id":"144b425999655932","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055581665324,"trace_id":"2e71a78690a8edfc2f8fe3f5fc880bb7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-2e71a78690a8edfc2f8fe3f5fc880bb7-2bb076031dbec3bd-01","Elastic-Apm-Traceparent":"00-2e71a78690a8edfc2f8fe3f5fc880bb7-2bb076031dbec3bd-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"186769","Etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","Date":"Mon, 28 Feb 2022 13:39:41 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"2bb076031dbec3bd","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.06625,"id":"8f00f02c0a875095","name":"SELECT FROM customers","timestamp":1646055582034883,"trace_id":"2a241224d9cee20850b1114788ffbedf","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"26e0f67ac3173337","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"26e0f67ac3173337"}} +{"transaction":{"duration":2.427834,"id":"26e0f67ac3173337","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055582034852,"trace_id":"2a241224d9cee20850b1114788ffbedf","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=50","full":"http://opbeans-go:3000/api/products/5/customers?limit=50"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-2a241224d9cee20850b1114788ffbedf-cb8e7244bb5235fd-01","Elastic-Apm-Traceparent":"00-2a241224d9cee20850b1114788ffbedf-cb8e7244bb5235fd-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"cb8e7244bb5235fd","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6562910000000001,"id":"76b32d7edc96de50","name":"SELECT FROM products","timestamp":1646055582428051,"trace_id":"d70c9fc80af8590a088724b4f40b273e","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"aac4ea97f960f98c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"aac4ea97f960f98c"}} +{"transaction":{"duration":0.945958,"id":"aac4ea97f960f98c","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055582428014,"trace_id":"d70c9fc80af8590a088724b4f40b273e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-d70c9fc80af8590a088724b4f40b273e-04fc8954a523f70c-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-d70c9fc80af8590a088724b4f40b273e-04fc8954a523f70c-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"04fc8954a523f70c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6799580000000001,"id":"4dd24476ca4225c7","name":"SELECT FROM product_types","timestamp":1646055583201131,"trace_id":"3a69c92c1aad8c6dc5b907913d31e003","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7fda1803b05f3b0c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7fda1803b05f3b0c"}} +{"transaction":{"duration":1.065625,"id":"7fda1803b05f3b0c","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055583201098,"trace_id":"3a69c92c1aad8c6dc5b907913d31e003","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Elastic-Apm-Traceparent":"00-3a69c92c1aad8c6dc5b907913d31e003-c57bbc20d2141706-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-3a69c92c1aad8c6dc5b907913d31e003-c57bbc20d2141706-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c57bbc20d2141706","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":40.123292,"id":"b6404664280d58a8","name":"Request","timestamp":1646055583237302,"trace_id":"c521bd069a7634d5102914dcd90b0904","type":"external","action":"request","outcome":"success","parent_id":"9282d36b9fc77eeb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b561048af0eb509a"}} +{"span":{"duration":2.004333,"id":"b321fa1b4e166481","name":"Response","timestamp":1646055583277469,"trace_id":"c521bd069a7634d5102914dcd90b0904","type":"external","action":"response","outcome":"success","parent_id":"9282d36b9fc77eeb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b561048af0eb509a"}} +{"span":{"duration":42.181042000000005,"id":"9282d36b9fc77eeb","name":"GET opbeans-ruby:3000","timestamp":1646055583237295,"trace_id":"c521bd069a7634d5102914dcd90b0904","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/88","status_code":404}},"outcome":"failure","parent_id":"b561048af0eb509a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b561048af0eb509a"}} +{"transaction":{"duration":42.456042,"id":"b561048af0eb509a","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055583237270,"trace_id":"c521bd069a7634d5102914dcd90b0904","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/88","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/88"},"headers":{"X-Forwarded-For":"172.23.0.12","Accept-Encoding":"gzip","User-Agent":"http.rb/5.0.4","Elastic-Apm-Traceparent":"00-c521bd069a7634d5102914dcd90b0904-535a6cc5d46dc3ce-01","Traceparent":"00-c521bd069a7634d5102914dcd90b0904-535a6cc5d46dc3ce-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"X-Request-Id":"0dc33152-e7b9-45e7-aeb5-96150fa1f757","X-Runtime":"0.034923","Content-Length":"1722","Content-Type":"text/html; charset=UTF-8"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"535a6cc5d46dc3ce","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":42.612084,"id":"0f8e86b309e89dd4","name":"Request","timestamp":1646055583237188,"trace_id":"c521bd069a7634d5102914dcd90b0904","type":"external","action":"request","outcome":"success","parent_id":"535a6cc5d46dc3ce","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c49a9566fbcced6d"}} +{"span":{"duration":0.035040999999999996,"id":"f69770cd1f273598","name":"Response","timestamp":1646055583279807,"trace_id":"c521bd069a7634d5102914dcd90b0904","type":"external","action":"response","outcome":"success","parent_id":"535a6cc5d46dc3ce","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c49a9566fbcced6d"}} +{"span":{"duration":42.679083999999996,"id":"535a6cc5d46dc3ce","name":"GET opbeans-go:3000","timestamp":1646055583237164,"trace_id":"c521bd069a7634d5102914dcd90b0904","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/88","status_code":404}},"outcome":"failure","parent_id":"c49a9566fbcced6d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c49a9566fbcced6d"}} +{"transaction":{"duration":42.845833999999996,"id":"c49a9566fbcced6d","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055583237085,"trace_id":"c521bd069a7634d5102914dcd90b0904","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/88","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/88"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-c521bd069a7634d5102914dcd90b0904-da64995461e63c1a-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-c521bd069a7634d5102914dcd90b0904-da64995461e63c1a-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Length":"1722","Content-Type":"text/html; charset=UTF-8","X-Request-Id":"0dc33152-e7b9-45e7-aeb5-96150fa1f757","X-Runtime":"0.034923","Date":"Mon, 28 Feb 2022 13:39:43 GMT"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"da64995461e63c1a","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":4768.862752999999,"id":"784fcb0944b1be39","name":"Request","timestamp":1646055578676850,"trace_id":"b03a615c582debbae24c7f10ace6865b","type":"external","action":"request","outcome":"success","parent_id":"bdb067a8026e2e7a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b03a615c582debba"}} +{"span":{"duration":11.7065,"id":"748f2a0671972584","name":"Response","timestamp":1646055583445742,"trace_id":"b03a615c582debbae24c7f10ace6865b","type":"external","action":"response","outcome":"success","parent_id":"bdb067a8026e2e7a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b03a615c582debba"}} +{"span":{"duration":4781.481377,"id":"bdb067a8026e2e7a","name":"GET opbeans-python:3000","timestamp":1646055578676198,"trace_id":"b03a615c582debbae24c7f10ace6865b","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"b03a615c582debba","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b03a615c582debba"}} +{"transaction":{"duration":4781.871461,"id":"b03a615c582debba","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055578676126,"trace_id":"b03a615c582debbae24c7f10ace6865b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"108580","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:43 GMT","Content-Type":"application/json","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.587666,"id":"46dd9f77f76e375a","name":"SELECT FROM products","timestamp":1646055583490386,"trace_id":"1d9441d1fbf873725bb66e8e9205d527","type":"db","action":"query","context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1d9441d1fbf87372","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1d9441d1fbf87372"}} +{"span":{"duration":1.015333,"id":"939747863804008a","name":"SELECT FROM customers","timestamp":1646055583490999,"trace_id":"1d9441d1fbf873725bb66e8e9205d527","type":"db","action":"query","context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1d9441d1fbf87372","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1d9441d1fbf87372"}} +{"span":{"duration":0.43150000000000005,"id":"b1def93870f20547","name":"SELECT FROM orders","timestamp":1646055583492050,"trace_id":"1d9441d1fbf873725bb66e8e9205d527","type":"db","action":"query","context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1d9441d1fbf87372","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1d9441d1fbf87372"}} +{"span":{"duration":3.1593329999999997,"id":"7d3607b524f9a42f","name":"SELECT FROM products","timestamp":1646055583492496,"trace_id":"1d9441d1fbf873725bb66e8e9205d527","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n SUM(selling_price), SUM(cost), SUM(selling_price-cost)\nFROM products JOIN order_lines ON products.id=order_lines.product_id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1d9441d1fbf87372","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1d9441d1fbf87372"}} +{"transaction":{"duration":5.996041,"id":"1d9441d1fbf87372","name":"GET /api/stats","span_count":{"dropped":0,"started":4},"timestamp":1646055583490073,"trace_id":"1d9441d1fbf873725bb66e8e9205d527","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"false"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.655125,"id":"36df7e497670a9d1","name":"SELECT FROM products","timestamp":1646055583521026,"trace_id":"416338978f2329974d534ad423bbd52d","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"416338978f232997","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"416338978f232997"}} +{"transaction":{"duration":3.8054170000000003,"id":"416338978f232997","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055583520997,"trace_id":"416338978f2329974d534ad423bbd52d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.2823330000000002,"id":"738401b795c46ad7","name":"SELECT FROM products","timestamp":1646055583542938,"trace_id":"44c3342aeb24355c9819c7124a9d51c0","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"44c3342aeb24355c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"44c3342aeb24355c"}} +{"transaction":{"duration":1.446,"id":"44c3342aeb24355c","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055583542917,"trace_id":"44c3342aeb24355c9819c7124a9d51c0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.591708,"id":"638b6ba8f5412cf9","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055583562161,"trace_id":"638b6ba8f5412cf9586a6774bcf04cc2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.578042,"id":"0aa4276dc9acf92c","name":"SELECT FROM customers","timestamp":1646055583584441,"trace_id":"31f68123ae5d7257bf6ae784a83ca168","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ec4971bd9eb6b488","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ec4971bd9eb6b488"}} +{"transaction":{"duration":0.77875,"id":"ec4971bd9eb6b488","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055583584368,"trace_id":"31f68123ae5d7257bf6ae784a83ca168","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/307","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/307"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-31f68123ae5d7257bf6ae784a83ca168-99e167e3f72d3d71-01","Traceparent":"00-31f68123ae5d7257bf6ae784a83ca168-99e167e3f72d3d71-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"99e167e3f72d3d71","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.988,"id":"13f84f90c7a266a4","name":"Request","timestamp":1646055583584217,"trace_id":"31f68123ae5d7257bf6ae784a83ca168","type":"external","action":"request","outcome":"success","parent_id":"99e167e3f72d3d71","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"31f68123ae5d7257"}} +{"span":{"duration":1.834916,"id":"9734da5a6b0f091d","name":"Response","timestamp":1646055583585208,"trace_id":"31f68123ae5d7257bf6ae784a83ca168","type":"external","action":"response","outcome":"success","parent_id":"99e167e3f72d3d71","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"31f68123ae5d7257"}} +{"span":{"duration":3.056625,"id":"99e167e3f72d3d71","name":"GET opbeans-go:3000","timestamp":1646055583583988,"trace_id":"31f68123ae5d7257bf6ae784a83ca168","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/307","status_code":200}},"outcome":"success","parent_id":"31f68123ae5d7257","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"31f68123ae5d7257"}} +{"transaction":{"duration":3.199958,"id":"31f68123ae5d7257","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055583583913,"trace_id":"31f68123ae5d7257bf6ae784a83ca168","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/307","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/307"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:43 GMT","Content-Length":"207"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.786792,"id":"8f919852666d11bf","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055583607225,"trace_id":"8f919852666d11bf0a29a1e0304f3419","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.820041,"id":"e0d29941344b4bf8","name":"SELECT FROM orders","timestamp":1646055583630988,"trace_id":"be0d21934508b35e41aa926da0e9e6bb","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8db9eb688154e074","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8db9eb688154e074"}} +{"span":{"duration":0.933083,"id":"9b2cd29670ea677e","name":"SELECT FROM products","timestamp":1646055583631903,"trace_id":"be0d21934508b35e41aa926da0e9e6bb","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8db9eb688154e074","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8db9eb688154e074"}} +{"transaction":{"duration":1.971416,"id":"8db9eb688154e074","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055583630965,"trace_id":"be0d21934508b35e41aa926da0e9e6bb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/331","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/331"},"headers":{"Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-be0d21934508b35e41aa926da0e9e6bb-16a3caf9422fc3c8-01","Traceparent":"00-be0d21934508b35e41aa926da0e9e6bb-16a3caf9422fc3c8-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14, 172.23.0.9","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"16a3caf9422fc3c8","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.358625,"id":"f66b692adb985bfb","name":"Request","timestamp":1646055583630890,"trace_id":"be0d21934508b35e41aa926da0e9e6bb","type":"external","action":"request","outcome":"success","parent_id":"16a3caf9422fc3c8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"764bc62e7848dd24"}} +{"span":{"duration":0.049583,"id":"ded72808b0ad60f0","name":"Response","timestamp":1646055583633251,"trace_id":"be0d21934508b35e41aa926da0e9e6bb","type":"external","action":"response","outcome":"success","parent_id":"16a3caf9422fc3c8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"764bc62e7848dd24"}} +{"span":{"duration":2.422583,"id":"16a3caf9422fc3c8","name":"GET opbeans-go:3000","timestamp":1646055583630878,"trace_id":"be0d21934508b35e41aa926da0e9e6bb","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/331","status_code":200}},"outcome":"success","parent_id":"764bc62e7848dd24","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"764bc62e7848dd24"}} +{"transaction":{"duration":2.5005,"id":"764bc62e7848dd24","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055583630843,"trace_id":"be0d21934508b35e41aa926da0e9e6bb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/331","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/331"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-be0d21934508b35e41aa926da0e9e6bb-f87fadde3b95b7f9-01","Traceparent":"00-be0d21934508b35e41aa926da0e9e6bb-f87fadde3b95b7f9-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Length":"301","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:43 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f87fadde3b95b7f9","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.699542,"id":"419ebe86074d8320","name":"Request","timestamp":1646055583630691,"trace_id":"be0d21934508b35e41aa926da0e9e6bb","type":"external","action":"request","outcome":"success","parent_id":"f87fadde3b95b7f9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"be0d21934508b35e"}} +{"span":{"duration":0.048167,"id":"b6ce4f217d291375","name":"Response","timestamp":1646055583633391,"trace_id":"be0d21934508b35e41aa926da0e9e6bb","type":"external","action":"response","outcome":"success","parent_id":"f87fadde3b95b7f9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"be0d21934508b35e"}} +{"span":{"duration":2.9242920000000003,"id":"f87fadde3b95b7f9","name":"GET opbeans-go:3000","timestamp":1646055583630516,"trace_id":"be0d21934508b35e41aa926da0e9e6bb","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/331","status_code":200}},"outcome":"success","parent_id":"be0d21934508b35e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"be0d21934508b35e"}} +{"transaction":{"duration":3.302083,"id":"be0d21934508b35e","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055583630188,"trace_id":"be0d21934508b35e41aa926da0e9e6bb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/331","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/331"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"301","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:43 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":56.564875,"id":"906ef413f1da3562","name":"Request","timestamp":1646055583652657,"trace_id":"bf8c6f1021a592127cffe8c999369d6f","type":"external","action":"request","outcome":"success","parent_id":"3471f5337da1e364","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bf8c6f1021a59212"}} +{"span":{"duration":0.055541,"id":"5e78af619aec23c9","name":"Response","timestamp":1646055583709271,"trace_id":"bf8c6f1021a592127cffe8c999369d6f","type":"external","action":"response","outcome":"success","parent_id":"3471f5337da1e364","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bf8c6f1021a59212"}} +{"span":{"duration":56.696417,"id":"3471f5337da1e364","name":"GET opbeans-ruby:3000","timestamp":1646055583652631,"trace_id":"bf8c6f1021a592127cffe8c999369d6f","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/9094","status_code":404}},"outcome":"failure","parent_id":"bf8c6f1021a59212","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bf8c6f1021a59212"}} +{"transaction":{"duration":57.208124999999995,"id":"bf8c6f1021a59212","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055583652452,"trace_id":"bf8c6f1021a592127cffe8c999369d6f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/9094","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/9094"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Runtime":"0.050866","Content-Length":"1722","Content-Type":"text/html; charset=UTF-8","X-Request-Id":"a223b385-0bfe-4965-9ff5-aa8b5e2c4676"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":1.321542,"id":"7bc19497959d26d2","name":"SELECT FROM customers","timestamp":1646055583742317,"trace_id":"87eef6c912b27ade0f3e408c0658c10e","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"87eef6c912b27ade","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"87eef6c912b27ade"}} +{"transaction":{"duration":3.731417,"id":"87eef6c912b27ade","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055583742285,"trace_id":"87eef6c912b27ade0f3e408c0658c10e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.47350000000000003,"id":"46ba76edd66a2f94","name":"SELECT FROM products","timestamp":1646055583774738,"trace_id":"c41e68d065b884ff2711944b016662f0","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c41e68d065b884ff","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c41e68d065b884ff"}} +{"transaction":{"duration":0.7010000000000001,"id":"c41e68d065b884ff","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055583774706,"trace_id":"c41e68d065b884ff2711944b016662f0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.448,"id":"5646d6f5a1e4e7dc","name":"DNS opbeans-python","timestamp":1646055583797239,"trace_id":"a1490b45d9cebd454c23a193c4b87d9f","type":"external","action":"dns","outcome":"success","parent_id":"bd9cf1fbee0b1404","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a1490b45d9cebd45"}} +{"span":{"duration":0.140125,"id":"dd4b45d252c05a8b","name":"Connect 172.23.0.11:3000","timestamp":1646055583797692,"trace_id":"a1490b45d9cebd454c23a193c4b87d9f","type":"external","action":"connect","outcome":"success","parent_id":"bd9cf1fbee0b1404","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a1490b45d9cebd45"}} +{"span":{"duration":0.49704199999999993,"id":"a33430e3f5025ff4","name":"SELECT FROM products","timestamp":1646055583820295,"trace_id":"1e801f22537dc0e98572cd265cf1d5b9","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9609096451bd2d90","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9609096451bd2d90"}} +{"transaction":{"duration":0.8444159999999999,"id":"9609096451bd2d90","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055583820261,"trace_id":"1e801f22537dc0e98572cd265cf1d5b9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-1e801f22537dc0e98572cd265cf1d5b9-2edd6589b5348c76-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-1e801f22537dc0e98572cd265cf1d5b9-2edd6589b5348c76-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"2edd6589b5348c76","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":25.439166999999998,"id":"19aee50d4f837496","name":"Request","timestamp":1646055583797853,"trace_id":"a1490b45d9cebd454c23a193c4b87d9f","type":"external","action":"request","outcome":"success","parent_id":"bd9cf1fbee0b1404","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a1490b45d9cebd45"}} +{"span":{"duration":0.1875,"id":"8431263add34d462","name":"Response","timestamp":1646055583823316,"trace_id":"a1490b45d9cebd454c23a193c4b87d9f","type":"external","action":"response","outcome":"success","parent_id":"bd9cf1fbee0b1404","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a1490b45d9cebd45"}} +{"span":{"duration":26.314166,"id":"bd9cf1fbee0b1404","name":"GET opbeans-python:3000","timestamp":1646055583797190,"trace_id":"a1490b45d9cebd454c23a193c4b87d9f","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"a1490b45d9cebd45","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a1490b45d9cebd45"}} +{"transaction":{"duration":26.662958,"id":"a1490b45d9cebd45","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055583797075,"trace_id":"a1490b45d9cebd454c23a193c4b87d9f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"123","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:43 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6672089999999999,"id":"b6073ab3c074a6f2","name":"SELECT FROM orders","timestamp":1646055583853757,"trace_id":"1421bd10acacb75b6e7e948e9c14f263","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1421bd10acacb75b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1421bd10acacb75b"}} +{"transaction":{"duration":4.641958,"id":"1421bd10acacb75b","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055583853740,"trace_id":"1421bd10acacb75b6e7e948e9c14f263","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.574333,"id":"daa8e52b844c0570","name":"SELECT FROM customers","timestamp":1646055583880752,"trace_id":"de32c345eefd52dc1d9e79399189d75a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"de32c345eefd52dc","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"de32c345eefd52dc"}} +{"transaction":{"duration":3.0925000000000002,"id":"de32c345eefd52dc","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055583880731,"trace_id":"de32c345eefd52dc1d9e79399189d75a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":70.399,"id":"19a28d109f142931","name":"Request","timestamp":1646055583904100,"trace_id":"be03b59c270f1f0338abba2e37633192","type":"external","action":"request","outcome":"success","parent_id":"ef9224e7f8577921","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"be03b59c270f1f03"}} +{"span":{"duration":3.586958,"id":"d6d992f229428c62","name":"Response","timestamp":1646055583974716,"trace_id":"be03b59c270f1f0338abba2e37633192","type":"external","action":"response","outcome":"success","parent_id":"ef9224e7f8577921","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"be03b59c270f1f03"}} +{"span":{"duration":74.223125,"id":"ef9224e7f8577921","name":"GET opbeans-ruby:3000","timestamp":1646055583904083,"trace_id":"be03b59c270f1f0338abba2e37633192","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"be03b59c270f1f03","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"be03b59c270f1f03"}} +{"transaction":{"duration":74.526375,"id":"be03b59c270f1f03","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055583903943,"trace_id":"be03b59c270f1f0338abba2e37633192","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Request-Id":"fbeadccc-6fd2-4950-81e1-81233bc3dca7","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin","Cache-Control":"max-age=0, private, must-revalidate","X-Xss-Protection":"1; mode=block","X-Download-Options":"noopen","Vary":"Accept","X-Content-Type-Options":"nosniff","Content-Type":"application/json; charset=utf-8","Etag":"W/\"6b84b8cfae4908f93f790804f2c9e7c9\"","X-Runtime":"0.048343","X-Frame-Options":"SAMEORIGIN"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":27.795916000000002,"id":"396f4de306c1198f","name":"Request","timestamp":1646055583997169,"trace_id":"1af4b397d88a4658421d5366ab7d95b7","type":"external","action":"request","outcome":"success","parent_id":"9979824885063fc4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"97ef8443860a57e6"}} +{"span":{"duration":0.12237500000000001,"id":"4df8b0210e5d4bfc","name":"Response","timestamp":1646055584025030,"trace_id":"1af4b397d88a4658421d5366ab7d95b7","type":"external","action":"response","outcome":"success","parent_id":"9979824885063fc4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"97ef8443860a57e6"}} +{"span":{"duration":28.118125,"id":"a09ca91c0488873d","name":"Request","timestamp":1646055583997039,"trace_id":"1af4b397d88a4658421d5366ab7d95b7","type":"external","action":"request","outcome":"success","parent_id":"071b0a47c7a3777f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1af4b397d88a4658"}} +{"span":{"duration":27.990707999999998,"id":"9979824885063fc4","name":"GET opbeans-ruby:3000","timestamp":1646055583997163,"trace_id":"1af4b397d88a4658421d5366ab7d95b7","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"97ef8443860a57e6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"97ef8443860a57e6"}} +{"transaction":{"duration":28.282542,"id":"97ef8443860a57e6","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055583997118,"trace_id":"1af4b397d88a4658421d5366ab7d95b7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-1af4b397d88a4658421d5366ab7d95b7-071b0a47c7a3777f-01","Traceparent":"00-1af4b397d88a4658421d5366ab7d95b7-071b0a47c7a3777f-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"X-Download-Options":"noopen","Referrer-Policy":"strict-origin-when-cross-origin","Etag":"W/\"86dca956c4d935f7a1a446036838b927\"","X-Request-Id":"d49466c3-e1ca-49a8-8ae8-7a2310752f1a","X-Frame-Options":"SAMEORIGIN","Vary":"Accept","X-Permitted-Cross-Domain-Policies":"none","X-Runtime":"0.010752","X-Xss-Protection":"1; mode=block","Content-Type":"application/json; charset=utf-8","Cache-Control":"max-age=0, private, must-revalidate","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"071b0a47c7a3777f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.300833,"id":"2b99165ff25e50c6","name":"Response","timestamp":1646055584025164,"trace_id":"1af4b397d88a4658421d5366ab7d95b7","type":"external","action":"response","outcome":"success","parent_id":"071b0a47c7a3777f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1af4b397d88a4658"}} +{"span":{"duration":28.445292000000002,"id":"071b0a47c7a3777f","name":"GET opbeans-go:3000","timestamp":1646055583997020,"trace_id":"1af4b397d88a4658421d5366ab7d95b7","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"1af4b397d88a4658","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1af4b397d88a4658"}} +{"transaction":{"duration":28.698417,"id":"1af4b397d88a4658","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055583996953,"trace_id":"1af4b397d88a4658421d5366ab7d95b7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Referrer-Policy":"strict-origin-when-cross-origin","Etag":"W/\"86dca956c4d935f7a1a446036838b927\"","X-Download-Options":"noopen","Content-Type":"application/json; charset=utf-8","X-Request-Id":"d49466c3-e1ca-49a8-8ae8-7a2310752f1a","X-Xss-Protection":"1; mode=block","Cache-Control":"max-age=0, private, must-revalidate","Date":"Mon, 28 Feb 2022 13:39:44 GMT","Vary":"Accept","X-Permitted-Cross-Domain-Policies":"none","X-Frame-Options":"SAMEORIGIN","X-Runtime":"0.010752"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":166.539875,"id":"3b097f9754daac9d","name":"Request","timestamp":1646055584044805,"trace_id":"5fb87097c9b63efdb4750d292f693beb","type":"external","action":"request","outcome":"success","parent_id":"246c738b5231d876","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5fb87097c9b63efd"}} +{"span":{"duration":3.328041,"id":"0616b46f1e400788","name":"Response","timestamp":1646055584211385,"trace_id":"5fb87097c9b63efdb4750d292f693beb","type":"external","action":"response","outcome":"success","parent_id":"246c738b5231d876","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5fb87097c9b63efd"}} +{"span":{"duration":169.93145800000002,"id":"246c738b5231d876","name":"GET opbeans-ruby:3000","timestamp":1646055584044786,"trace_id":"5fb87097c9b63efdb4750d292f693beb","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"5fb87097c9b63efd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5fb87097c9b63efd"}} +{"transaction":{"duration":170.36166699999998,"id":"5fb87097c9b63efd","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055584044455,"trace_id":"5fb87097c9b63efdb4750d292f693beb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.66575,"id":"45c51539f2a4d13d","name":"SELECT FROM customers","timestamp":1646055584233105,"trace_id":"c255be723d46933c77f092ae1c835ec4","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c255be723d46933c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c255be723d46933c"}} +{"transaction":{"duration":3.1168329999999997,"id":"c255be723d46933c","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055584233070,"trace_id":"c255be723d46933c77f092ae1c835ec4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.128834,"id":"2f6f6da14785b05f","name":"SELECT FROM customers","timestamp":1646055584348333,"trace_id":"fe93090dae6e79d822b5e0d8c02f8200","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7dade11dfc58d05d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7dade11dfc58d05d"}} +{"transaction":{"duration":3.431541,"id":"7dade11dfc58d05d","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055584348307,"trace_id":"fe93090dae6e79d822b5e0d8c02f8200","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-fe93090dae6e79d822b5e0d8c02f8200-2e428c8e0d62cc9e-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-fe93090dae6e79d822b5e0d8c02f8200-2e428c8e0d62cc9e-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"2e428c8e0d62cc9e","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":94.910833,"id":"53a72aa474bebfc3","name":"Request","timestamp":1646055584271136,"trace_id":"fe93090dae6e79d822b5e0d8c02f8200","type":"external","action":"request","outcome":"success","parent_id":"8f7dfc1ba6ca32c1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fe93090dae6e79d8"}} +{"span":{"duration":1.9449580000000002,"id":"c3c2f96dbd5dd6ab","name":"Response","timestamp":1646055584366072,"trace_id":"fe93090dae6e79d822b5e0d8c02f8200","type":"external","action":"response","outcome":"success","parent_id":"8f7dfc1ba6ca32c1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fe93090dae6e79d8"}} +{"span":{"duration":96.90625,"id":"8f7dfc1ba6ca32c1","name":"GET opbeans-ruby:3000","timestamp":1646055584271113,"trace_id":"fe93090dae6e79d822b5e0d8c02f8200","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/5/customers?limit=50","status_code":200}},"outcome":"success","parent_id":"fe93090dae6e79d8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fe93090dae6e79d8"}} +{"transaction":{"duration":97.160083,"id":"fe93090dae6e79d8","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055584270937,"trace_id":"fe93090dae6e79d822b5e0d8c02f8200","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=50","full":"http://opbeans-go:3000/api/products/5/customers?limit=50"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.25025,"id":"17e25bbfd19a6b5b","name":"SELECT FROM products","timestamp":1646055584385259,"trace_id":"0c6d723fef98b85b9211c8b17bc4d9bc","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0c6d723fef98b85b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0c6d723fef98b85b"}} +{"transaction":{"duration":0.56125,"id":"0c6d723fef98b85b","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055584385240,"trace_id":"0c6d723fef98b85b9211c8b17bc4d9bc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.442875,"id":"b11a0e25960a2860","name":"SELECT FROM products","timestamp":1646055584403172,"trace_id":"634074a062017260487fff721d395f4d","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"634074a062017260","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"634074a062017260"}} +{"transaction":{"duration":0.659041,"id":"634074a062017260","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055584403149,"trace_id":"634074a062017260487fff721d395f4d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.304125,"id":"f1fdd4d040e46fae","name":"DNS opbeans-python","timestamp":1646055584421739,"trace_id":"e08292a65fc7ff3c389d449fabfef71b","type":"external","action":"dns","outcome":"success","parent_id":"a08e0a859877b66b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e08292a65fc7ff3c"}} +{"span":{"duration":0.4185,"id":"bb451c00a8217ab4","name":"Connect 172.23.0.11:3000","timestamp":1646055584422047,"trace_id":"e08292a65fc7ff3c389d449fabfef71b","type":"external","action":"connect","outcome":"success","parent_id":"a08e0a859877b66b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e08292a65fc7ff3c"}} +{"span":{"duration":12.539666,"id":"51e0928c9a860a06","name":"Request","timestamp":1646055584422495,"trace_id":"e08292a65fc7ff3c389d449fabfef71b","type":"external","action":"request","outcome":"success","parent_id":"a08e0a859877b66b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e08292a65fc7ff3c"}} +{"span":{"duration":0.36812500000000004,"id":"1b64287823282ffa","name":"Response","timestamp":1646055584435066,"trace_id":"e08292a65fc7ff3c389d449fabfef71b","type":"external","action":"response","outcome":"success","parent_id":"a08e0a859877b66b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e08292a65fc7ff3c"}} +{"span":{"duration":13.765542,"id":"a08e0a859877b66b","name":"GET opbeans-python:3000","timestamp":1646055584421669,"trace_id":"e08292a65fc7ff3c389d449fabfef71b","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"e08292a65fc7ff3c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e08292a65fc7ff3c"}} +{"transaction":{"duration":14.019250000000001,"id":"e08292a65fc7ff3c","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055584421508,"trace_id":"e08292a65fc7ff3c389d449fabfef71b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","Referrer-Policy":"same-origin","Server":"gunicorn","Content-Length":"128","Vary":"Cookie","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:39:44 GMT","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.337667,"id":"ce28fbf7674a4505","name":"DNS opbeans-python","timestamp":1646055584454726,"trace_id":"b0863477a82b190c88c843cae8aec973","type":"external","action":"dns","outcome":"success","parent_id":"1655a6d2d93d9dc3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b0863477a82b190c"}} +{"span":{"duration":0.13070900000000002,"id":"413c074915649528","name":"Connect 172.23.0.11:3000","timestamp":1646055584455068,"trace_id":"b0863477a82b190c88c843cae8aec973","type":"external","action":"connect","outcome":"success","parent_id":"1655a6d2d93d9dc3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b0863477a82b190c"}} +{"span":{"duration":0.449,"id":"aad620491fdb1f6b","name":"SELECT FROM product_types","timestamp":1646055585229732,"trace_id":"039936bdd54005490acd47146a548755","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3c829a39deb403a8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3c829a39deb403a8"}} +{"transaction":{"duration":0.757208,"id":"3c829a39deb403a8","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055585229674,"trace_id":"039936bdd54005490acd47146a548755","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-039936bdd54005490acd47146a548755-738660365fbde925-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-039936bdd54005490acd47146a548755-738660365fbde925-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"738660365fbde925","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5878329999999999,"id":"df24cc34dff636dd","name":"SELECT FROM products","timestamp":1646055585293305,"trace_id":"15cc78733234b64f58d876ccbed4c6d7","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2833bc9c54158073","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2833bc9c54158073"}} +{"transaction":{"duration":0.9635410000000001,"id":"2833bc9c54158073","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055585293275,"trace_id":"15cc78733234b64f58d876ccbed4c6d7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-15cc78733234b64f58d876ccbed4c6d7-e92c1fe5a66fdf9b-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-15cc78733234b64f58d876ccbed4c6d7-e92c1fe5a66fdf9b-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e92c1fe5a66fdf9b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.43104200000000004,"id":"d6de1190ea2342a8","name":"SELECT FROM products","timestamp":1646055586430802,"trace_id":"28ab25b290c76050d35a8dc740659add","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"34b0b73aee44088f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"34b0b73aee44088f"}} +{"transaction":{"duration":0.65225,"id":"34b0b73aee44088f","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055586430774,"trace_id":"28ab25b290c76050d35a8dc740659add","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-28ab25b290c76050d35a8dc740659add-650adb8f12ab011a-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-28ab25b290c76050d35a8dc740659add-650adb8f12ab011a-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"650adb8f12ab011a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.371208,"id":"dcc189779894cf5c","name":"SELECT FROM customers","timestamp":1646055586818680,"trace_id":"5e36c0b0769f094901a22cfbf1e9c2bf","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"21e172ce3023cf71","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"21e172ce3023cf71"}} +{"transaction":{"duration":2.72975,"id":"21e172ce3023cf71","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055586818657,"trace_id":"5e36c0b0769f094901a22cfbf1e9c2bf","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-5e36c0b0769f094901a22cfbf1e9c2bf-a7ee39132b4384b6-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-5e36c0b0769f094901a22cfbf1e9c2bf-a7ee39132b4384b6-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a7ee39132b4384b6","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.466833,"id":"ac33a33663b4ab31","name":"DNS opbeans-python","timestamp":1646055586830516,"trace_id":"60e29380ef9dc941c54e123dd4e11b6f","type":"external","action":"dns","outcome":"success","parent_id":"9a995dc51e8d252e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"586ed6f38bb41b88"}} +{"span":{"duration":0.0975,"id":"a23396f647fedef4","name":"Connect 172.23.0.11:3000","timestamp":1646055586830988,"trace_id":"60e29380ef9dc941c54e123dd4e11b6f","type":"external","action":"connect","outcome":"success","parent_id":"9a995dc51e8d252e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"586ed6f38bb41b88"}} +{"span":{"duration":755.210792,"id":"5d86e7d7a3bde83e","name":"Request","timestamp":1646055586831102,"trace_id":"60e29380ef9dc941c54e123dd4e11b6f","type":"external","action":"request","outcome":"success","parent_id":"9a995dc51e8d252e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"586ed6f38bb41b88"}} +{"span":{"duration":1.359875,"id":"1fa78914b9c402c0","name":"Response","timestamp":1646055587586363,"trace_id":"60e29380ef9dc941c54e123dd4e11b6f","type":"external","action":"response","outcome":"success","parent_id":"9a995dc51e8d252e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"586ed6f38bb41b88"}} +{"span":{"duration":757.272917,"id":"9a995dc51e8d252e","name":"GET opbeans-python:3000","timestamp":1646055586830451,"trace_id":"60e29380ef9dc941c54e123dd4e11b6f","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"586ed6f38bb41b88","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"586ed6f38bb41b88"}} +{"transaction":{"duration":757.5211670000001,"id":"586ed6f38bb41b88","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055586830362,"trace_id":"60e29380ef9dc941c54e123dd4e11b6f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-60e29380ef9dc941c54e123dd4e11b6f-9de2f40785db4785-01","Traceparent":"00-60e29380ef9dc941c54e123dd4e11b6f-9de2f40785db4785-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.11","User-Agent":"python-requests/2.27.1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"309","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie","Date":"Mon, 28 Feb 2022 13:39:47 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"9de2f40785db4785","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":757.745459,"id":"b14c88261c3c7468","name":"Request","timestamp":1646055586830300,"trace_id":"60e29380ef9dc941c54e123dd4e11b6f","type":"external","action":"request","outcome":"success","parent_id":"9de2f40785db4785","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"547fe7c27c190564"}} +{"span":{"duration":0.032709,"id":"ba5dbc9b05a69206","name":"Response","timestamp":1646055587588052,"trace_id":"60e29380ef9dc941c54e123dd4e11b6f","type":"external","action":"response","outcome":"success","parent_id":"9de2f40785db4785","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"547fe7c27c190564"}} +{"span":{"duration":757.8038750000001,"id":"9de2f40785db4785","name":"GET opbeans-go:3000","timestamp":1646055586830281,"trace_id":"60e29380ef9dc941c54e123dd4e11b6f","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"547fe7c27c190564","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"547fe7c27c190564"}} +{"transaction":{"duration":758.032917,"id":"547fe7c27c190564","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055586830112,"trace_id":"60e29380ef9dc941c54e123dd4e11b6f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-60e29380ef9dc941c54e123dd4e11b6f-c436302ad609923b-01","Elastic-Apm-Traceparent":"00-60e29380ef9dc941c54e123dd4e11b6f-c436302ad609923b-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:39:47 GMT","Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"309"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c436302ad609923b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6387079999999999,"id":"78a371883832b7c0","name":"SELECT FROM orders","timestamp":1646055588204270,"trace_id":"3bc85cf2fa831603fa1032165fa9b36e","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c6822de5ab9389f5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c6822de5ab9389f5"}} +{"span":{"duration":0.529125,"id":"bb56bca093155349","name":"SELECT FROM products","timestamp":1646055588204959,"trace_id":"3bc85cf2fa831603fa1032165fa9b36e","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c6822de5ab9389f5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c6822de5ab9389f5"}} +{"transaction":{"duration":1.591,"id":"c6822de5ab9389f5","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055588204229,"trace_id":"3bc85cf2fa831603fa1032165fa9b36e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/54","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/54"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-3bc85cf2fa831603fa1032165fa9b36e-0899e8438584a37f-01","Connection":"close","Traceparent":"00-3bc85cf2fa831603fa1032165fa9b36e-0899e8438584a37f-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"0899e8438584a37f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.385459,"id":"c52e9b130167f913","name":"SELECT FROM orders","timestamp":1646055588415874,"trace_id":"cb8d87e309f86209a230373ecafd1b4d","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e27181ab821a7260","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e27181ab821a7260"}} +{"span":{"duration":0.9305410000000001,"id":"aea725d377f7bc7b","name":"SELECT FROM products","timestamp":1646055588416288,"trace_id":"cb8d87e309f86209a230373ecafd1b4d","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e27181ab821a7260","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e27181ab821a7260"}} +{"transaction":{"duration":1.452666,"id":"e27181ab821a7260","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055588415858,"trace_id":"cb8d87e309f86209a230373ecafd1b4d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/949","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/949"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-cb8d87e309f86209a230373ecafd1b4d-b691293be577b613-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-cb8d87e309f86209a230373ecafd1b4d-b691293be577b613-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b691293be577b613","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.314958,"id":"873dccc0996caf6e","name":"SELECT FROM products","timestamp":1646055589019689,"trace_id":"1bcac8dafcdbdcaa9ca10889761338c0","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"dd3d9f7ea3f5b39c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"dd3d9f7ea3f5b39c"}} +{"transaction":{"duration":1.471542,"id":"dd3d9f7ea3f5b39c","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055589019670,"trace_id":"1bcac8dafcdbdcaa9ca10889761338c0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Traceparent":"00-1bcac8dafcdbdcaa9ca10889761338c0-70ba7e8327ce1c65-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-1bcac8dafcdbdcaa9ca10889761338c0-70ba7e8327ce1c65-01","Connection":"close","User-Agent":"http.rb/5.0.4"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"70ba7e8327ce1c65","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.89025,"id":"640d37da1944f96d","name":"SELECT FROM products","timestamp":1646055589280151,"trace_id":"6380fa7c1ca47f80f35f63f77313b3b8","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"34290d39b70362e1","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"34290d39b70362e1"}} +{"transaction":{"duration":2.218791,"id":"34290d39b70362e1","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055589280129,"trace_id":"6380fa7c1ca47f80f35f63f77313b3b8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Traceparent":"00-6380fa7c1ca47f80f35f63f77313b3b8-484f9d2d45da7633-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-6380fa7c1ca47f80f35f63f77313b3b8-484f9d2d45da7633-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"484f9d2d45da7633","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.7050420000000001,"id":"2024ffc23db5ec07","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055589495507,"trace_id":"a32d20e1f4457f9258dea61c499c2b39","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-a32d20e1f4457f9258dea61c499c2b39-741fe0b13ddf3980-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-a32d20e1f4457f9258dea61c499c2b39-741fe0b13ddf3980-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"741fe0b13ddf3980","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.431542,"id":"49e70ebeefb6a076","name":"SELECT FROM products","timestamp":1646055589587420,"trace_id":"744280f07617b4da5873374be3634366","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8f6e2411b19aa5c0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8f6e2411b19aa5c0"}} +{"transaction":{"duration":0.569416,"id":"8f6e2411b19aa5c0","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055589587399,"trace_id":"744280f07617b4da5873374be3634366","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-744280f07617b4da5873374be3634366-b61a7647321c85f8-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-744280f07617b4da5873374be3634366-b61a7647321c85f8-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b61a7647321c85f8","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":5282.450502,"id":"d576929f6f062f99","name":"Request","timestamp":1646055584455227,"trace_id":"b0863477a82b190c88c843cae8aec973","type":"external","action":"request","outcome":"success","parent_id":"1655a6d2d93d9dc3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b0863477a82b190c"}} +{"span":{"duration":1.7625,"id":"0ca39fabaa218280","name":"Response","timestamp":1646055589737722,"trace_id":"b0863477a82b190c88c843cae8aec973","type":"external","action":"response","outcome":"success","parent_id":"1655a6d2d93d9dc3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b0863477a82b190c"}} +{"span":{"duration":5284.806294,"id":"1655a6d2d93d9dc3","name":"GET opbeans-python:3000","timestamp":1646055584454683,"trace_id":"b0863477a82b190c88c843cae8aec973","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"b0863477a82b190c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b0863477a82b190c"}} +{"transaction":{"duration":5285.693752,"id":"b0863477a82b190c","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055584454625,"trace_id":"b0863477a82b190c88c843cae8aec973","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:49 GMT","Content-Type":"application/json","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"108580"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.513875,"id":"d72e45f600e8ca7a","name":"DNS opbeans-node","timestamp":1646055589779962,"trace_id":"b96751441bf64d9a286174d7f0b467dc","type":"external","action":"dns","outcome":"success","parent_id":"de2aae45db937bd6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b96751441bf64d9a"}} +{"span":{"duration":0.12679100000000001,"id":"925510b039211979","name":"Connect 172.23.0.10:3000","timestamp":1646055589780481,"trace_id":"b96751441bf64d9a286174d7f0b467dc","type":"external","action":"connect","outcome":"success","parent_id":"de2aae45db937bd6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b96751441bf64d9a"}} +{"span":{"duration":92.9005,"id":"545ecde42ece9fc6","name":"Request","timestamp":1646055589780621,"trace_id":"b96751441bf64d9a286174d7f0b467dc","type":"external","action":"request","outcome":"success","parent_id":"de2aae45db937bd6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b96751441bf64d9a"}} +{"span":{"duration":0.19875,"id":"5a7377abd05dd41d","name":"Response","timestamp":1646055589873575,"trace_id":"b96751441bf64d9a286174d7f0b467dc","type":"external","action":"response","outcome":"success","parent_id":"de2aae45db937bd6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b96751441bf64d9a"}} +{"span":{"duration":94.01204200000001,"id":"de2aae45db937bd6","name":"GET opbeans-node:3000","timestamp":1646055589779762,"trace_id":"b96751441bf64d9a286174d7f0b467dc","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"b96751441bf64d9a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b96751441bf64d9a"}} +{"transaction":{"duration":94.234,"id":"b96751441bf64d9a","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055589779664,"trace_id":"b96751441bf64d9a286174d7f0b467dc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Cache-Control":"max-age=0, private, must-revalidate","X-Powered-By":"Express","X-Frame-Options":"SAMEORIGIN","X-Xss-Protection":"1; mode=block","Referrer-Policy":"strict-origin-when-cross-origin","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","Content-Type":"application/json; charset=utf-8","X-Content-Type-Options":"nosniff","X-Request-Id":"27b6bed4-1ab5-4034-9780-e1a3a40ebb8e","Etag":"W/\"8e3260febb99939d3db0e054e5bf5def\"","X-Runtime":"0.011592","Date":"Mon, 28 Feb 2022 13:39:49 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6615409999999999,"id":"27f4b00c1790db34","name":"SELECT FROM customers","timestamp":1646055589899648,"trace_id":"f88a6dcd9913872af469c70a66945536","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f88a6dcd9913872a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f88a6dcd9913872a"}} +{"span":{"duration":0.254042,"id":"6ec0ee71d9a86ef9","name":"INSERT INTO order_lines","timestamp":1646055589900637,"trace_id":"f88a6dcd9913872af469c70a66945536","type":"db","action":"prepare","context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f88a6dcd9913872a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f88a6dcd9913872a"}} +{"span":{"duration":0.49237499999999995,"id":"c64aee9ecd8ca361","name":"INSERT INTO orders","timestamp":1646055589900896,"trace_id":"f88a6dcd9913872af469c70a66945536","type":"db","action":"query","context":{"db":{"statement":"INSERT INTO orders (customer_id) VALUES ($1) RETURNING id","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f88a6dcd9913872a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f88a6dcd9913872a"}} +{"span":{"duration":0.2605,"id":"0a456e4d38b6884e","name":"INSERT INTO order_lines","timestamp":1646055589901404,"trace_id":"f88a6dcd9913872af469c70a66945536","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f88a6dcd9913872a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f88a6dcd9913872a"}} +{"span":{"duration":0.2375,"id":"a3f326aa23b88a1f","name":"INSERT INTO order_lines","timestamp":1646055589901673,"trace_id":"f88a6dcd9913872af469c70a66945536","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f88a6dcd9913872a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f88a6dcd9913872a"}} +{"span":{"duration":0.145792,"id":"a28f6e92fa17622e","name":"INSERT INTO order_lines","timestamp":1646055589901914,"trace_id":"f88a6dcd9913872af469c70a66945536","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f88a6dcd9913872a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f88a6dcd9913872a"}} +{"transaction":{"duration":4.431458,"id":"f88a6dcd9913872a","name":"POST /api/orders/csv","span_count":{"dropped":0,"started":6},"timestamp":1646055589898731,"trace_id":"f88a6dcd9913872af469c70a66945536","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders/csv","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/csv"},"headers":{"Content-Length":"380","Content-Type":"multipart/form-data; boundary=708b58df2f12422787f298c7833db8db","Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"customer_name":"Phillip Diaz","customer_email":"pdiaz9x@patch.com"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.817083,"id":"a79df8c95b33496e","name":"SELECT FROM customers","timestamp":1646055589922082,"trace_id":"8043d7402ac8eaa579e9065011150764","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8043d7402ac8eaa5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8043d7402ac8eaa5"}} +{"transaction":{"duration":1.021625,"id":"8043d7402ac8eaa5","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055589922060,"trace_id":"8043d7402ac8eaa579e9065011150764","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/690","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/690"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.518334,"id":"21b657a75ec8db8c","name":"DNS opbeans-node","timestamp":1646055589943149,"trace_id":"11eafdc6616fbc85630ce7b9b892a8af","type":"external","action":"dns","outcome":"success","parent_id":"9ea98b66ce03c581","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"11eafdc6616fbc85"}} +{"span":{"duration":0.108125,"id":"db90342f171d6ed8","name":"Connect 172.23.0.10:3000","timestamp":1646055589943673,"trace_id":"11eafdc6616fbc85630ce7b9b892a8af","type":"external","action":"connect","outcome":"success","parent_id":"9ea98b66ce03c581","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"11eafdc6616fbc85"}} +{"span":{"duration":97.460542,"id":"9f76d3b8f6ba61ba","name":"Request","timestamp":1646055589943798,"trace_id":"11eafdc6616fbc85630ce7b9b892a8af","type":"external","action":"request","outcome":"success","parent_id":"9ea98b66ce03c581","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"11eafdc6616fbc85"}} +{"span":{"duration":3.8400410000000003,"id":"39759421e1d744e3","name":"Response","timestamp":1646055590041344,"trace_id":"11eafdc6616fbc85630ce7b9b892a8af","type":"external","action":"response","outcome":"success","parent_id":"9ea98b66ce03c581","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"11eafdc6616fbc85"}} +{"span":{"duration":102.10466699999999,"id":"9ea98b66ce03c581","name":"GET opbeans-node:3000","timestamp":1646055589943083,"trace_id":"11eafdc6616fbc85630ce7b9b892a8af","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"11eafdc6616fbc85","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"11eafdc6616fbc85"}} +{"transaction":{"duration":102.315501,"id":"11eafdc6616fbc85","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055589942998,"trace_id":"11eafdc6616fbc85630ce7b9b892a8af","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Cache-Control":"max-age=0, private, must-revalidate","X-Content-Type-Options":"nosniff","X-Frame-Options":"SAMEORIGIN","Etag":"W/\"195dc75dd23c6abbf5c85d7fd3d619d1\"","X-Runtime":"0.069907","X-Download-Options":"noopen","X-Request-Id":"228e7e41-a564-4a30-a93c-2ba9da0b2aa2","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:50 GMT","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin","X-Xss-Protection":"1; mode=block"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.9201250000000001,"id":"e65d0c4b4bc9b617","name":"DNS opbeans-ruby","timestamp":1646055590063894,"trace_id":"3f94b0564017bf611e2b67c3455ab155","type":"external","action":"dns","outcome":"success","parent_id":"ab25d2178bbb73d8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6fca764c1fd527cb"}} +{"span":{"duration":0.11012499999999999,"id":"fef276d835c9e30f","name":"Connect 172.23.0.12:3000","timestamp":1646055590064821,"trace_id":"3f94b0564017bf611e2b67c3455ab155","type":"external","action":"connect","outcome":"success","parent_id":"ab25d2178bbb73d8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6fca764c1fd527cb"}} +{"span":{"duration":0.466208,"id":"220112ce3e9b4027","name":"DNS opbeans-python","timestamp":1646055590064872,"trace_id":"de1d53ab7f58d56cb03559d31eb99456","type":"external","action":"dns","outcome":"success","parent_id":"f5a2a447d529576c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"de1d53ab7f58d56c"}} +{"span":{"duration":0.252833,"id":"b72eeb26703a038c","name":"Connect 172.23.0.11:3000","timestamp":1646055590065367,"trace_id":"de1d53ab7f58d56cb03559d31eb99456","type":"external","action":"connect","outcome":"success","parent_id":"f5a2a447d529576c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"de1d53ab7f58d56c"}} +{"span":{"duration":0.24729199999999998,"id":"f19850c5e6bcc7d4","name":"SELECT FROM products","timestamp":1646055590086771,"trace_id":"de1d53ab7f58d56cb03559d31eb99456","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"92519dcf7649b2d4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"92519dcf7649b2d4"}} +{"transaction":{"duration":0.531625,"id":"92519dcf7649b2d4","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055590086749,"trace_id":"de1d53ab7f58d56cb03559d31eb99456","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-de1d53ab7f58d56cb03559d31eb99456-6249dd4003c9c7a6-01","Elastic-Apm-Traceparent":"00-de1d53ab7f58d56cb03559d31eb99456-6249dd4003c9c7a6-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6249dd4003c9c7a6","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":29.8065,"id":"50dc2c389a76f13d","name":"Request","timestamp":1646055590065630,"trace_id":"de1d53ab7f58d56cb03559d31eb99456","type":"external","action":"request","outcome":"success","parent_id":"f5a2a447d529576c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"de1d53ab7f58d56c"}} +{"span":{"duration":0.150167,"id":"909f5552db0de823","name":"Response","timestamp":1646055590095461,"trace_id":"de1d53ab7f58d56cb03559d31eb99456","type":"external","action":"response","outcome":"success","parent_id":"f5a2a447d529576c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"de1d53ab7f58d56c"}} +{"span":{"duration":30.773417000000002,"id":"f5a2a447d529576c","name":"GET opbeans-python:3000","timestamp":1646055590064838,"trace_id":"de1d53ab7f58d56cb03559d31eb99456","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"de1d53ab7f58d56c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"de1d53ab7f58d56c"}} +{"transaction":{"duration":31.059041,"id":"de1d53ab7f58d56c","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055590064776,"trace_id":"de1d53ab7f58d56cb03559d31eb99456","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","Content-Length":"2134","Date":"Mon, 28 Feb 2022 13:39:50 GMT","Vary":"Cookie","Referrer-Policy":"same-origin","X-Content-Type-Options":"nosniff","Server":"gunicorn","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":36.541292000000006,"id":"51a6a69a5cfa79a9","name":"Request","timestamp":1646055590064942,"trace_id":"3f94b0564017bf611e2b67c3455ab155","type":"external","action":"request","outcome":"success","parent_id":"ab25d2178bbb73d8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6fca764c1fd527cb"}} +{"span":{"duration":0.423166,"id":"160b2665d9d5fb1d","name":"Response","timestamp":1646055590101512,"trace_id":"3f94b0564017bf611e2b67c3455ab155","type":"external","action":"response","outcome":"success","parent_id":"ab25d2178bbb73d8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6fca764c1fd527cb"}} +{"span":{"duration":38.101542,"id":"ab25d2178bbb73d8","name":"GET opbeans-ruby:3000","timestamp":1646055590063835,"trace_id":"3f94b0564017bf611e2b67c3455ab155","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/846","status_code":404}},"outcome":"failure","parent_id":"6fca764c1fd527cb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6fca764c1fd527cb"}} +{"transaction":{"duration":38.285209,"id":"6fca764c1fd527cb","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055590063766,"trace_id":"3f94b0564017bf611e2b67c3455ab155","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/846","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/846"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-3f94b0564017bf611e2b67c3455ab155-eb55393dff561cbf-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-3f94b0564017bf611e2b67c3455ab155-eb55393dff561cbf-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Runtime":"0.026610","Content-Length":"1722","Content-Type":"text/html; charset=UTF-8","X-Request-Id":"7bdda20f-232f-4e1a-8405-b3b73a2cefef"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"eb55393dff561cbf","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.331167,"id":"d88863225d0cc2e8","name":"DNS opbeans-python","timestamp":1646055590113875,"trace_id":"9572a27652a7f60aeb6bf75e41f1fc44","type":"external","action":"dns","outcome":"success","parent_id":"6d3a3e269b070a02","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9572a27652a7f60a"}} +{"span":{"duration":0.132167,"id":"b7f3807cccbf91a1","name":"Connect 172.23.0.11:3000","timestamp":1646055590114218,"trace_id":"9572a27652a7f60aeb6bf75e41f1fc44","type":"external","action":"connect","outcome":"success","parent_id":"6d3a3e269b070a02","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9572a27652a7f60a"}} +{"span":{"duration":0.42624999999999996,"id":"b18cb24451ced2aa","name":"DNS opbeans-python","timestamp":1646055590131505,"trace_id":"9572a27652a7f60aeb6bf75e41f1fc44","type":"external","action":"dns","outcome":"success","parent_id":"065815a95c907196","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d615f424e3576096"}} +{"span":{"duration":0.15537499999999999,"id":"9bcc8e2dcf5313c4","name":"Connect 172.23.0.11:3000","timestamp":1646055590131936,"trace_id":"9572a27652a7f60aeb6bf75e41f1fc44","type":"external","action":"connect","outcome":"success","parent_id":"065815a95c907196","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d615f424e3576096"}} +{"span":{"duration":138.250333,"id":"4c95d5d38f02b91f","name":"Request","timestamp":1646055590132106,"trace_id":"9572a27652a7f60aeb6bf75e41f1fc44","type":"external","action":"request","outcome":"success","parent_id":"065815a95c907196","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d615f424e3576096"}} +{"span":{"duration":2.112916,"id":"ff2bdac648f67ca5","name":"Response","timestamp":1646055590270383,"trace_id":"9572a27652a7f60aeb6bf75e41f1fc44","type":"external","action":"response","outcome":"success","parent_id":"065815a95c907196","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d615f424e3576096"}} +{"span":{"duration":141.042958,"id":"065815a95c907196","name":"GET opbeans-python:3000","timestamp":1646055590131462,"trace_id":"9572a27652a7f60aeb6bf75e41f1fc44","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"d615f424e3576096","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d615f424e3576096"}} +{"transaction":{"duration":141.66887499999999,"id":"d615f424e3576096","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055590131407,"trace_id":"9572a27652a7f60aeb6bf75e41f1fc44","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-9572a27652a7f60aeb6bf75e41f1fc44-d36569e80834046d-01","Elastic-Apm-Traceparent":"00-9572a27652a7f60aeb6bf75e41f1fc44-d36569e80834046d-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:50 GMT","Vary":"Cookie","Referrer-Policy":"same-origin","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Content-Length":"2926"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d36569e80834046d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":174.300417,"id":"f82ec1b6ad2eef78","name":"Request","timestamp":1646055590114361,"trace_id":"9572a27652a7f60aeb6bf75e41f1fc44","type":"external","action":"request","outcome":"success","parent_id":"6d3a3e269b070a02","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9572a27652a7f60a"}} +{"span":{"duration":0.31366700000000003,"id":"fc2a7f90fa231f7e","name":"Response","timestamp":1646055590288700,"trace_id":"9572a27652a7f60aeb6bf75e41f1fc44","type":"external","action":"response","outcome":"success","parent_id":"6d3a3e269b070a02","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9572a27652a7f60a"}} +{"span":{"duration":175.18545899999998,"id":"6d3a3e269b070a02","name":"GET opbeans-python:3000","timestamp":1646055590113829,"trace_id":"9572a27652a7f60aeb6bf75e41f1fc44","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"9572a27652a7f60a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9572a27652a7f60a"}} +{"transaction":{"duration":175.503917,"id":"9572a27652a7f60a","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055590113745,"trace_id":"9572a27652a7f60aeb6bf75e41f1fc44","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","Content-Length":"2926","Vary":"Cookie","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:50 GMT","Content-Type":"application/json; charset=utf-8","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.276292,"id":"142ad775c217c210","name":"DNS opbeans-node","timestamp":1646055590308801,"trace_id":"98796093fb4205e684127317b13d9480","type":"external","action":"dns","outcome":"success","parent_id":"e84e6fc9bc6d2eb3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"98796093fb4205e6"}} +{"span":{"duration":0.099541,"id":"42c71c581adce84d","name":"Connect 172.23.0.10:3000","timestamp":1646055590309087,"trace_id":"98796093fb4205e684127317b13d9480","type":"external","action":"connect","outcome":"success","parent_id":"e84e6fc9bc6d2eb3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"98796093fb4205e6"}} +{"span":{"duration":146.507833,"id":"6416e3b61fff358c","name":"Request","timestamp":1646055590309204,"trace_id":"98796093fb4205e684127317b13d9480","type":"external","action":"request","outcome":"success","parent_id":"e84e6fc9bc6d2eb3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"98796093fb4205e6"}} +{"span":{"duration":0.161916,"id":"29112689506e72df","name":"Response","timestamp":1646055590455738,"trace_id":"98796093fb4205e684127317b13d9480","type":"external","action":"response","outcome":"success","parent_id":"e84e6fc9bc6d2eb3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"98796093fb4205e6"}} +{"span":{"duration":147.15225,"id":"e84e6fc9bc6d2eb3","name":"GET opbeans-node:3000","timestamp":1646055590308749,"trace_id":"98796093fb4205e684127317b13d9480","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"98796093fb4205e6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"98796093fb4205e6"}} +{"transaction":{"duration":147.464208,"id":"98796093fb4205e6","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055590308604,"trace_id":"98796093fb4205e684127317b13d9480","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:39:50 GMT","Content-Type":"application/json","Vary":"Cookie","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Content-Length":"309","Server":"gunicorn","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":314.512583,"id":"8c020abc6a05fcca","name":"Request","timestamp":1646055590475860,"trace_id":"f9680311309189351a0d09ee91b2368f","type":"external","action":"request","outcome":"success","parent_id":"eb2e6eaf08d4eb2b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f968031130918935"}} +{"span":{"duration":0.182167,"id":"7a439f6a54ef07fb","name":"Response","timestamp":1646055590790404,"trace_id":"f9680311309189351a0d09ee91b2368f","type":"external","action":"response","outcome":"success","parent_id":"eb2e6eaf08d4eb2b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f968031130918935"}} +{"span":{"duration":314.748625,"id":"eb2e6eaf08d4eb2b","name":"GET opbeans-ruby:3000","timestamp":1646055590475839,"trace_id":"f9680311309189351a0d09ee91b2368f","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"f968031130918935","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f968031130918935"}} +{"transaction":{"duration":315.47325,"id":"f968031130918935","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055590475510,"trace_id":"f9680311309189351a0d09ee91b2368f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.35312499999999997,"id":"1e41dc513ad4cabb","name":"DNS opbeans-python","timestamp":1646055590810800,"trace_id":"8678f47a4cbd50842f07940abc7eef1d","type":"external","action":"dns","outcome":"success","parent_id":"2e30c4edd776bba9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8678f47a4cbd5084"}} +{"span":{"duration":0.10008299999999999,"id":"e93bc3e3189bd6ec","name":"Connect 172.23.0.11:3000","timestamp":1646055590811174,"trace_id":"8678f47a4cbd50842f07940abc7eef1d","type":"external","action":"connect","outcome":"success","parent_id":"2e30c4edd776bba9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8678f47a4cbd5084"}} +{"span":{"duration":116.12104199999999,"id":"ee953d4459ff0627","name":"Request","timestamp":1646055590811294,"trace_id":"8678f47a4cbd50842f07940abc7eef1d","type":"external","action":"request","outcome":"success","parent_id":"2e30c4edd776bba9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8678f47a4cbd5084"}} +{"span":{"duration":5.793583,"id":"44aa5f5ac5498446","name":"Response","timestamp":1646055590927451,"trace_id":"8678f47a4cbd50842f07940abc7eef1d","type":"external","action":"response","outcome":"success","parent_id":"2e30c4edd776bba9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8678f47a4cbd5084"}} +{"span":{"duration":122.54670800000001,"id":"2e30c4edd776bba9","name":"GET opbeans-python:3000","timestamp":1646055590810759,"trace_id":"8678f47a4cbd50842f07940abc7eef1d","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/6/customers?limit=50","status_code":200}},"outcome":"success","parent_id":"8678f47a4cbd5084","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8678f47a4cbd5084"}} +{"transaction":{"duration":122.834542,"id":"8678f47a4cbd5084","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055590810588,"trace_id":"8678f47a4cbd50842f07940abc7eef1d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","search":"limit=50","full":"http://opbeans-go:3000/api/products/6/customers?limit=50"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"15796","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:39:50 GMT","Content-Type":"application/json","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.6484169999999998,"id":"29adc56c54e099e6","name":"DNS opbeans-python","timestamp":1646055590968641,"trace_id":"aa3411a2c13831289ffa34c8c0c9d10c","type":"external","action":"dns","outcome":"success","parent_id":"a987e7894655d95d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aa3411a2c1383128"}} +{"span":{"duration":0.776375,"id":"58f55cc144556388","name":"Connect 172.23.0.11:3000","timestamp":1646055590970299,"trace_id":"aa3411a2c13831289ffa34c8c0c9d10c","type":"external","action":"connect","outcome":"success","parent_id":"a987e7894655d95d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aa3411a2c1383128"}} +{"span":{"duration":0.504375,"id":"f346e432b41139d8","name":"SELECT FROM products","timestamp":1646055591043803,"trace_id":"aa3411a2c13831289ffa34c8c0c9d10c","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7a91615554c25d59","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7a91615554c25d59"}} +{"transaction":{"duration":0.730791,"id":"7a91615554c25d59","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055591043775,"trace_id":"aa3411a2c13831289ffa34c8c0c9d10c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Traceparent":"00-aa3411a2c13831289ffa34c8c0c9d10c-e417a480c131621c-01","Elastic-Apm-Traceparent":"00-aa3411a2c13831289ffa34c8c0c9d10c-e417a480c131621c-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e417a480c131621c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":140.68154199999998,"id":"a7aad03181836926","name":"Request","timestamp":1646055590971105,"trace_id":"aa3411a2c13831289ffa34c8c0c9d10c","type":"external","action":"request","outcome":"success","parent_id":"a987e7894655d95d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aa3411a2c1383128"}} +{"span":{"duration":2.3045,"id":"322f2bf4b01f2785","name":"Response","timestamp":1646055591111990,"trace_id":"aa3411a2c13831289ffa34c8c0c9d10c","type":"external","action":"response","outcome":"success","parent_id":"a987e7894655d95d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aa3411a2c1383128"}} +{"span":{"duration":146.090916,"id":"a987e7894655d95d","name":"GET opbeans-python:3000","timestamp":1646055590968209,"trace_id":"aa3411a2c13831289ffa34c8c0c9d10c","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"aa3411a2c1383128","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aa3411a2c1383128"}} +{"transaction":{"duration":150.447542,"id":"aa3411a2c1383128","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055590964321,"trace_id":"aa3411a2c13831289ffa34c8c0c9d10c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","Referrer-Policy":"same-origin","Server":"gunicorn","Content-Type":"application/json; charset=utf-8","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:39:51 GMT","X-Frame-Options":"DENY","Content-Length":"2134"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.2297919999999998,"id":"e83bba181e33dbd1","name":"DNS opbeans-ruby","timestamp":1646055591181738,"trace_id":"2a4c4e48ccdad96edc540556905adfb4","type":"external","action":"dns","outcome":"success","parent_id":"648e9b0624fda34a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2a4c4e48ccdad96e"}} +{"span":{"duration":0.493125,"id":"d64e5e2de49ce987","name":"Connect 172.23.0.12:3000","timestamp":1646055591183997,"trace_id":"2a4c4e48ccdad96edc540556905adfb4","type":"external","action":"connect","outcome":"success","parent_id":"648e9b0624fda34a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2a4c4e48ccdad96e"}} +{"span":{"duration":437.1505,"id":"73453af5ee425c29","name":"Request","timestamp":1646055591013698,"trace_id":"10a82d37eb49217cc622792d3ad2debd","type":"external","action":"request","outcome":"success","parent_id":"e5b6c35d488ccf6c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"10a82d37eb49217c"}} +{"span":{"duration":0.45883399999999996,"id":"b255b263a95bb70a","name":"Response","timestamp":1646055591450871,"trace_id":"10a82d37eb49217cc622792d3ad2debd","type":"external","action":"response","outcome":"success","parent_id":"e5b6c35d488ccf6c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"10a82d37eb49217c"}} +{"span":{"duration":437.667125,"id":"e5b6c35d488ccf6c","name":"GET opbeans-ruby:3000","timestamp":1646055591013663,"trace_id":"10a82d37eb49217cc622792d3ad2debd","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"10a82d37eb49217c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"10a82d37eb49217c"}} +{"transaction":{"duration":443.636542,"id":"10a82d37eb49217c","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055591008028,"trace_id":"10a82d37eb49217cc622792d3ad2debd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":5.083792,"id":"2e572614bc0a5f7a","name":"SELECT FROM customers","timestamp":1646055591453373,"trace_id":"2a4c4e48ccdad96edc540556905adfb4","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4353f6570e7bcdf8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"conn.go","lineno":119,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).finishSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"conn.go","lineno":139,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).QueryContext","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"ctxutil.go","lineno":48,"abs_path":"/usr/local/go/src/database/sql/ctxutil.go","function":"ctxDriverQuery","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1722,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC.func1","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":3396,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"withLock","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1717,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1700,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).query","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1674,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).QueryContext","library_frame":true,"module":"database/sql"},{"filename":"customers.go","lineno":60,"abs_path":"/src/opbeans-go/customers.go","function":"queryCustomers","module":"main"},{"filename":"customers.go","lineno":26,"abs_path":"/src/opbeans-go/customers.go","function":"getProductCustomers","module":"main"},{"filename":"api.go","lineno":145,"abs_path":"/src/opbeans-go/api.go","function":"apiHandlers.getProductCustomers","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":200,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"postgresql","transaction_id":"4353f6570e7bcdf8"}} +{"transaction":{"duration":10.805458,"id":"4353f6570e7bcdf8","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055591453329,"trace_id":"2a4c4e48ccdad96edc540556905adfb4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-2a4c4e48ccdad96edc540556905adfb4-f1d9cab568888a72-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-2a4c4e48ccdad96edc540556905adfb4-f1d9cab568888a72-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f1d9cab568888a72","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":308.141542,"id":"a01435de603ec7d3","name":"Request","timestamp":1646055591184518,"trace_id":"2a4c4e48ccdad96edc540556905adfb4","type":"external","action":"request","outcome":"success","parent_id":"648e9b0624fda34a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2a4c4e48ccdad96e"}} +{"span":{"duration":2.4865,"id":"809b76630db2c814","name":"Response","timestamp":1646055591492694,"trace_id":"2a4c4e48ccdad96edc540556905adfb4","type":"external","action":"response","outcome":"success","parent_id":"648e9b0624fda34a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2a4c4e48ccdad96e"}} +{"span":{"duration":313.82545899999997,"id":"648e9b0624fda34a","name":"GET opbeans-ruby:3000","timestamp":1646055591181375,"trace_id":"2a4c4e48ccdad96edc540556905adfb4","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/5/customers?limit=70","status_code":200}},"outcome":"success","parent_id":"2a4c4e48ccdad96e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2a4c4e48ccdad96e"}} +{"transaction":{"duration":314.29666699999996,"id":"2a4c4e48ccdad96e","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055591181004,"trace_id":"2a4c4e48ccdad96edc540556905adfb4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=70","full":"http://opbeans-go:3000/api/products/5/customers?limit=70"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.970416,"id":"25c0548f06c00635","name":"SELECT FROM customers","timestamp":1646055591517291,"trace_id":"5199ce1cc75a77fd073bbdccda1969e8","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5199ce1cc75a77fd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5199ce1cc75a77fd"}} +{"transaction":{"duration":2.986833,"id":"5199ce1cc75a77fd","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055591517249,"trace_id":"5199ce1cc75a77fd073bbdccda1969e8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":87.087667,"id":"b0276ee0933a5698","name":"Request","timestamp":1646055591561595,"trace_id":"3e80ac25602dfa75b4e3dbcb0dacc8af","type":"external","action":"request","outcome":"success","parent_id":"d1632e96c7a8115e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3e80ac25602dfa75"}} +{"span":{"duration":0.270583,"id":"745680f3ee708241","name":"Response","timestamp":1646055591648719,"trace_id":"3e80ac25602dfa75b4e3dbcb0dacc8af","type":"external","action":"response","outcome":"success","parent_id":"d1632e96c7a8115e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3e80ac25602dfa75"}} +{"span":{"duration":87.42575,"id":"d1632e96c7a8115e","name":"GET opbeans-ruby:3000","timestamp":1646055591561565,"trace_id":"3e80ac25602dfa75b4e3dbcb0dacc8af","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"3e80ac25602dfa75","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3e80ac25602dfa75"}} +{"transaction":{"duration":87.69024999999999,"id":"3e80ac25602dfa75","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055591561468,"trace_id":"3e80ac25602dfa75b4e3dbcb0dacc8af","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Cache-Control":"max-age=0, private, must-revalidate","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","X-Content-Type-Options":"nosniff","X-Xss-Protection":"1; mode=block","Content-Type":"application/json; charset=utf-8","X-Runtime":"0.052797","X-Frame-Options":"SAMEORIGIN","Referrer-Policy":"strict-origin-when-cross-origin","Etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","Vary":"Accept","X-Request-Id":"d85d457e-e846-4d49-9845-de5120466fa5"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.33629200000000004,"id":"b775b40ab04c34f1","name":"SELECT FROM customers","timestamp":1646055591654012,"trace_id":"9a514183ed8e782aaed3d0767504632b","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c4aac76e51fd3c45","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c4aac76e51fd3c45"}} +{"transaction":{"duration":2.6706659999999998,"id":"c4aac76e51fd3c45","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055591653999,"trace_id":"9a514183ed8e782aaed3d0767504632b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Elastic-Apm-Traceparent":"00-9a514183ed8e782aaed3d0767504632b-c8666cd2343fb7a8-01","Traceparent":"00-9a514183ed8e782aaed3d0767504632b-c8666cd2343fb7a8-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.11","User-Agent":"python-requests/2.27.1","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c8666cd2343fb7a8","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.773292,"id":"9fc1e045a61edede","name":"Request","timestamp":1646055591653909,"trace_id":"9a514183ed8e782aaed3d0767504632b","type":"external","action":"request","outcome":"success","parent_id":"c8666cd2343fb7a8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7119101c9c49672a"}} +{"span":{"duration":0.964708,"id":"af884bc99dd168b5","name":"Response","timestamp":1646055591656685,"trace_id":"9a514183ed8e782aaed3d0767504632b","type":"external","action":"response","outcome":"success","parent_id":"c8666cd2343fb7a8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7119101c9c49672a"}} +{"span":{"duration":3.763,"id":"c8666cd2343fb7a8","name":"GET opbeans-go:3000","timestamp":1646055591653889,"trace_id":"9a514183ed8e782aaed3d0767504632b","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"7119101c9c49672a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7119101c9c49672a"}} +{"transaction":{"duration":3.90475,"id":"7119101c9c49672a","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055591653804,"trace_id":"9a514183ed8e782aaed3d0767504632b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-9a514183ed8e782aaed3d0767504632b-0f3de31a4b4331f6-01","Elastic-Apm-Traceparent":"00-9a514183ed8e782aaed3d0767504632b-0f3de31a4b4331f6-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:39:51 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"0f3de31a4b4331f6","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.835125,"id":"b20b500c42f0fa4e","name":"SELECT FROM product_types","timestamp":1646055591672115,"trace_id":"75fec41631ac0edc273a7e0309d48ab1","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"75fec41631ac0edc","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"75fec41631ac0edc"}} +{"transaction":{"duration":1.247208,"id":"75fec41631ac0edc","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055591672090,"trace_id":"75fec41631ac0edc273a7e0309d48ab1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5379999999999999,"id":"edd0741ec4eda789","name":"SELECT FROM products","timestamp":1646055591695447,"trace_id":"67ae4b27a5022d3020ac4067b95ac09f","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"67ae4b27a5022d30","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"67ae4b27a5022d30"}} +{"transaction":{"duration":0.728667,"id":"67ae4b27a5022d30","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055591695413,"trace_id":"67ae4b27a5022d3020ac4067b95ac09f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.415375,"id":"7c4bde3be8f5cf16","name":"DNS opbeans-node","timestamp":1646055591719711,"trace_id":"75225aef0441903ea382847def82d2c0","type":"external","action":"dns","outcome":"success","parent_id":"80d19ba909586f8a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"75225aef0441903e"}} +{"span":{"duration":0.335416,"id":"cef1d7d02811da7d","name":"Connect 172.23.0.10:3000","timestamp":1646055591720132,"trace_id":"75225aef0441903ea382847def82d2c0","type":"external","action":"connect","outcome":"success","parent_id":"80d19ba909586f8a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"75225aef0441903e"}} +{"span":{"duration":32.585042,"id":"a7a25627c3eca546","name":"Request","timestamp":1646055591720490,"trace_id":"75225aef0441903ea382847def82d2c0","type":"external","action":"request","outcome":"success","parent_id":"80d19ba909586f8a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"75225aef0441903e"}} +{"span":{"duration":0.567375,"id":"ca36c14fe7417d16","name":"Response","timestamp":1646055591753170,"trace_id":"75225aef0441903ea382847def82d2c0","type":"external","action":"response","outcome":"success","parent_id":"80d19ba909586f8a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"75225aef0441903e"}} +{"span":{"duration":34.1025,"id":"80d19ba909586f8a","name":"GET opbeans-node:3000","timestamp":1646055591719637,"trace_id":"75225aef0441903ea382847def82d2c0","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types","status_code":200}},"outcome":"success","parent_id":"75225aef0441903e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"75225aef0441903e"}} +{"transaction":{"duration":34.441167,"id":"75225aef0441903e","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055591719469,"trace_id":"75225aef0441903ea382847def82d2c0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"112","Etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","Date":"Mon, 28 Feb 2022 13:39:51 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":4.8502909999999995,"id":"89f7520698eb9880","name":"SELECT FROM orders","timestamp":1646055591780989,"trace_id":"3a002fd9de7c6988b0aa83cd56f76910","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3a002fd9de7c6988","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3a002fd9de7c6988"}} +{"transaction":{"duration":9.919167,"id":"3a002fd9de7c6988","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055591780957,"trace_id":"3a002fd9de7c6988b0aa83cd56f76910","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.27545800000000004,"id":"6c1e80f1c7b672a6","name":"DNS opbeans-python","timestamp":1646055591835556,"trace_id":"9272cbf6ba674e967f670665abeb8ef3","type":"external","action":"dns","outcome":"success","parent_id":"0ec28eb94876ed3f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9272cbf6ba674e96"}} +{"span":{"duration":0.194084,"id":"5faacfa1402f8326","name":"Connect 172.23.0.11:3000","timestamp":1646055591835846,"trace_id":"9272cbf6ba674e967f670665abeb8ef3","type":"external","action":"connect","outcome":"success","parent_id":"0ec28eb94876ed3f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9272cbf6ba674e96"}} +{"span":{"duration":2.434584,"id":"cfc3262a0b0684aa","name":"SELECT FROM products","timestamp":1646055596091315,"trace_id":"ce0e9fc1a1d70b63e6b693a3bc0f006d","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"fd908ffbe9ed04fe","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"fd908ffbe9ed04fe"}} +{"transaction":{"duration":5.259291999999999,"id":"fd908ffbe9ed04fe","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055596090819,"trace_id":"ce0e9fc1a1d70b63e6b693a3bc0f006d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Accept":"*/*","Connection":"keep-alive","Traceparent":"00-ce0e9fc1a1d70b63e6b693a3bc0f006d-fb7cfa2ba82ffb9c-01","Elastic-Apm-Traceparent":"00-ce0e9fc1a1d70b63e6b693a3bc0f006d-fb7cfa2ba82ffb9c-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"fb7cfa2ba82ffb9c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":8728.580213000001,"id":"6f68331d3911dbb0","name":"Request","timestamp":1646055591836058,"trace_id":"9272cbf6ba674e967f670665abeb8ef3","type":"external","action":"request","outcome":"success","parent_id":"0ec28eb94876ed3f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9272cbf6ba674e96"}} +{"span":{"duration":5.868583999999999,"id":"7fe63b58628093f5","name":"Response","timestamp":1646055600565096,"trace_id":"9272cbf6ba674e967f670665abeb8ef3","type":"external","action":"response","outcome":"success","parent_id":"0ec28eb94876ed3f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9272cbf6ba674e96"}} +{"span":{"duration":8736.155796000001,"id":"0ec28eb94876ed3f","name":"GET opbeans-python:3000","timestamp":1646055591835462,"trace_id":"9272cbf6ba674e967f670665abeb8ef3","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"9272cbf6ba674e96","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9272cbf6ba674e96"}} +{"transaction":{"duration":8737.648296,"id":"9272cbf6ba674e96","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055591835266,"trace_id":"9272cbf6ba674e967f670665abeb8ef3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:40:00 GMT","Content-Type":"application/json","Server":"gunicorn","X-Frame-Options":"DENY","Content-Length":"108580","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.907209,"id":"968d2d87ec7176fd","name":"SELECT FROM customers","timestamp":1646055600626010,"trace_id":"9125db9d05b6d66daec4c62ef68b289f","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c21fb214d43065fd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c21fb214d43065fd"}} +{"span":{"duration":33.917083,"id":"7f9b9c4e193eb35c","name":"Request","timestamp":1646055600625067,"trace_id":"9125db9d05b6d66daec4c62ef68b289f","type":"external","action":"request","outcome":"success","parent_id":"df9207c8de73d89b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9125db9d05b6d66d"}} +{"span":{"duration":4.966125,"id":"b37fb2d0af7e789f","name":"Response","timestamp":1646055600659038,"trace_id":"9125db9d05b6d66daec4c62ef68b289f","type":"external","action":"response","outcome":"success","parent_id":"df9207c8de73d89b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9125db9d05b6d66d"}} +{"span":{"duration":39.190583000000004,"id":"df9207c8de73d89b","name":"GET opbeans-go:3000","timestamp":1646055600624819,"trace_id":"9125db9d05b6d66daec4c62ef68b289f","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/3/customers?limit=60","status_code":200}},"outcome":"success","parent_id":"9125db9d05b6d66d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9125db9d05b6d66d"}} +{"transaction":{"duration":40.146167000000005,"id":"9125db9d05b6d66d","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055600623973,"trace_id":"9125db9d05b6d66daec4c62ef68b289f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","search":"limit=60","full":"http://opbeans-go:3000/api/products/3/customers?limit=60"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:00 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":39.60975,"id":"c21fb214d43065fd","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055600625905,"trace_id":"9125db9d05b6d66daec4c62ef68b289f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","search":"limit=60","full":"http://opbeans-go:3000/api/products/3/customers?limit=60"},"headers":{"Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-9125db9d05b6d66daec4c62ef68b289f-df9207c8de73d89b-01","Traceparent":"00-9125db9d05b6d66daec4c62ef68b289f-df9207c8de73d89b-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"df9207c8de73d89b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":75.898,"id":"a8ab0262ad0d082f","name":"Request","timestamp":1646055600679805,"trace_id":"9d38b3381e83906c272eb1e89d129f64","type":"external","action":"request","outcome":"success","parent_id":"bdd2b71efd6f391b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9d38b3381e83906c"}} +{"span":{"duration":0.176917,"id":"6a762ea1fe309d1e","name":"Response","timestamp":1646055600755729,"trace_id":"9d38b3381e83906c272eb1e89d129f64","type":"external","action":"response","outcome":"success","parent_id":"bdd2b71efd6f391b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9d38b3381e83906c"}} +{"span":{"duration":76.134208,"id":"bdd2b71efd6f391b","name":"GET opbeans-ruby:3000","timestamp":1646055600679773,"trace_id":"9d38b3381e83906c272eb1e89d129f64","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"9d38b3381e83906c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9d38b3381e83906c"}} +{"transaction":{"duration":78.20041599999999,"id":"9d38b3381e83906c","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055600679522,"trace_id":"9d38b3381e83906c272eb1e89d129f64","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Request-Id":"2bf33863-bfb0-4580-b771-268b96a33d5f","X-Xss-Protection":"1; mode=block","X-Download-Options":"noopen","X-Runtime":"0.066204","X-Content-Type-Options":"nosniff","Referrer-Policy":"strict-origin-when-cross-origin","Vary":"Accept","Cache-Control":"max-age=0, private, must-revalidate","X-Permitted-Cross-Domain-Policies":"none","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"SAMEORIGIN","Etag":"W/\"37992d7e5d1df22332cd7c5be552ddce\""},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.740541,"id":"53d2b47dc789e928","name":"DNS opbeans-node","timestamp":1646055600796511,"trace_id":"2d7ff0039abf8ae0b1870d4705bef43a","type":"external","action":"dns","outcome":"success","parent_id":"0f1428a3b995fcd8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e2a5f20e18bdef77"}} +{"span":{"duration":0.15575,"id":"b87b60eeb35574a9","name":"Connect 172.23.0.10:3000","timestamp":1646055600797257,"trace_id":"2d7ff0039abf8ae0b1870d4705bef43a","type":"external","action":"connect","outcome":"failure","parent_id":"0f1428a3b995fcd8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e2a5f20e18bdef77"}} +{"span":{"duration":1.00525,"id":"0f1428a3b995fcd8","name":"GET opbeans-node:3000","timestamp":1646055600796411,"trace_id":"2d7ff0039abf8ae0b1870d4705bef43a","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/6148"}},"outcome":"success","parent_id":"e2a5f20e18bdef77","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e2a5f20e18bdef77"}} +{"transaction":{"duration":6.049333,"id":"e2a5f20e18bdef77","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055600796223,"trace_id":"2d7ff0039abf8ae0b1870d4705bef43a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/6148","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/6148"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-2d7ff0039abf8ae0b1870d4705bef43a-bfd7ee6392370acf-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-2d7ff0039abf8ae0b1870d4705bef43a-bfd7ee6392370acf-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"status_code":502},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","parent_id":"bfd7ee6392370acf","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":35.399167000000006,"id":"20baf4ad6763b8b0","name":"Request","timestamp":1646055600781127,"trace_id":"2d7ff0039abf8ae0b1870d4705bef43a","type":"external","action":"request","outcome":"success","parent_id":"05777a8bed920fa1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2d7ff0039abf8ae0"}} +{"span":{"duration":0.169625,"id":"394fc30bd1ce7c28","name":"Response","timestamp":1646055600816589,"trace_id":"2d7ff0039abf8ae0b1870d4705bef43a","type":"external","action":"response","outcome":"success","parent_id":"05777a8bed920fa1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2d7ff0039abf8ae0"}} +{"span":{"duration":35.652791,"id":"05777a8bed920fa1","name":"GET opbeans-ruby:3000","timestamp":1646055600781107,"trace_id":"2d7ff0039abf8ae0b1870d4705bef43a","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/6148","status_code":502}},"outcome":"failure","parent_id":"2d7ff0039abf8ae0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2d7ff0039abf8ae0"}} +{"transaction":{"duration":39.500916,"id":"2d7ff0039abf8ae0","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055600780880,"trace_id":"2d7ff0039abf8ae0b1870d4705bef43a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/6148","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/6148"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/plain"},"status_code":502},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":0.40291699999999997,"id":"7bb1de40672dbc99","name":"DNS opbeans-node","timestamp":1646055600842648,"trace_id":"1efd18b6ba57a7cdbbdb0058526bb38a","type":"external","action":"dns","outcome":"success","parent_id":"26bbf8a326425077","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"340f36c54eefda7d"}} +{"span":{"duration":0.1055,"id":"5cc8822f08b2b337","name":"Connect 172.23.0.10:3000","timestamp":1646055600843055,"trace_id":"1efd18b6ba57a7cdbbdb0058526bb38a","type":"external","action":"connect","outcome":"failure","parent_id":"26bbf8a326425077","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"340f36c54eefda7d"}} +{"span":{"duration":0.562,"id":"26bbf8a326425077","name":"GET opbeans-node:3000","timestamp":1646055600842602,"trace_id":"1efd18b6ba57a7cdbbdb0058526bb38a","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/790"}},"outcome":"success","parent_id":"340f36c54eefda7d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"340f36c54eefda7d"}} +{"transaction":{"duration":0.933125,"id":"340f36c54eefda7d","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055600842453,"trace_id":"1efd18b6ba57a7cdbbdb0058526bb38a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/790","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/790"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-1efd18b6ba57a7cdbbdb0058526bb38a-cc2d6741824c31a9-01","Traceparent":"00-1efd18b6ba57a7cdbbdb0058526bb38a-cc2d6741824c31a9-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"status_code":502},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","parent_id":"cc2d6741824c31a9","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":1.387667,"id":"aef1e87d999475f5","name":"Request","timestamp":1646055600842328,"trace_id":"1efd18b6ba57a7cdbbdb0058526bb38a","type":"external","action":"request","outcome":"success","parent_id":"cc2d6741824c31a9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1efd18b6ba57a7cd"}} +{"span":{"duration":0.028666999999999998,"id":"b66376a784d23c22","name":"Response","timestamp":1646055600843717,"trace_id":"1efd18b6ba57a7cdbbdb0058526bb38a","type":"external","action":"response","outcome":"success","parent_id":"cc2d6741824c31a9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1efd18b6ba57a7cd"}} +{"span":{"duration":1.442458,"id":"cc2d6741824c31a9","name":"GET opbeans-go:3000","timestamp":1646055600842304,"trace_id":"1efd18b6ba57a7cdbbdb0058526bb38a","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/790","status_code":502}},"outcome":"failure","parent_id":"1efd18b6ba57a7cd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1efd18b6ba57a7cd"}} +{"transaction":{"duration":1.934291,"id":"1efd18b6ba57a7cd","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055600842074,"trace_id":"1efd18b6ba57a7cdbbdb0058526bb38a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/790","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/790"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:00 GMT","Content-Length":"0"},"status_code":502},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":1.868,"id":"9dc2a035c1da2669","name":"DNS opbeans-python","timestamp":1646055600872124,"trace_id":"ad00c7497af05f2b24ac9b1197575332","type":"external","action":"dns","outcome":"success","parent_id":"b8f91e07ba5155c9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ad00c7497af05f2b"}} +{"span":{"duration":0.53625,"id":"efb2078b6649feb3","name":"Connect 172.23.0.11:3000","timestamp":1646055600874056,"trace_id":"ad00c7497af05f2b24ac9b1197575332","type":"external","action":"connect","outcome":"success","parent_id":"b8f91e07ba5155c9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ad00c7497af05f2b"}} +{"span":{"duration":70.099833,"id":"4aedb921e37a9b48","name":"Request","timestamp":1646055600874619,"trace_id":"ad00c7497af05f2b24ac9b1197575332","type":"external","action":"request","outcome":"success","parent_id":"b8f91e07ba5155c9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ad00c7497af05f2b"}} +{"span":{"duration":4.323417,"id":"400fdd68aae40973","name":"Response","timestamp":1646055600944768,"trace_id":"ad00c7497af05f2b24ac9b1197575332","type":"external","action":"response","outcome":"success","parent_id":"b8f91e07ba5155c9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ad00c7497af05f2b"}} +{"span":{"duration":77.058,"id":"b8f91e07ba5155c9","name":"GET opbeans-python:3000","timestamp":1646055600872040,"trace_id":"ad00c7497af05f2b24ac9b1197575332","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"ad00c7497af05f2b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ad00c7497af05f2b"}} +{"transaction":{"duration":77.994916,"id":"ad00c7497af05f2b","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055600871748,"trace_id":"ad00c7497af05f2b24ac9b1197575332","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:00 GMT","X-Frame-Options":"DENY","Vary":"Cookie","Referrer-Policy":"same-origin","Content-Type":"application/json","Content-Length":"123","X-Content-Type-Options":"nosniff","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.9741670000000002,"id":"2e5b9386ed380216","name":"SELECT FROM product_types","timestamp":1646055600977746,"trace_id":"de2a9d64641ff264b4b704a3ed6cbf05","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6afbdae827bec1e8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6afbdae827bec1e8"}} +{"transaction":{"duration":2.266708,"id":"6afbdae827bec1e8","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055600977714,"trace_id":"de2a9d64641ff264b4b704a3ed6cbf05","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-de2a9d64641ff264b4b704a3ed6cbf05-7c0ce455ad267768-01","Traceparent":"00-de2a9d64641ff264b4b704a3ed6cbf05-7c0ce455ad267768-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"7c0ce455ad267768","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.447083,"id":"81c90bbac499e23d","name":"Request","timestamp":1646055600977620,"trace_id":"de2a9d64641ff264b4b704a3ed6cbf05","type":"external","action":"request","outcome":"success","parent_id":"7c0ce455ad267768","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"de2a9d64641ff264"}} +{"span":{"duration":0.052791000000000005,"id":"d2028a5bf9057496","name":"Response","timestamp":1646055600980069,"trace_id":"de2a9d64641ff264b4b704a3ed6cbf05","type":"external","action":"response","outcome":"success","parent_id":"7c0ce455ad267768","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"de2a9d64641ff264"}} +{"span":{"duration":2.527667,"id":"7c0ce455ad267768","name":"GET opbeans-go:3000","timestamp":1646055600977595,"trace_id":"de2a9d64641ff264b4b704a3ed6cbf05","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"de2a9d64641ff264","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"de2a9d64641ff264"}} +{"transaction":{"duration":2.948458,"id":"de2a9d64641ff264","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055600977294,"trace_id":"de2a9d64641ff264b4b704a3ed6cbf05","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:00 GMT","Content-Length":"37"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":121.029208,"id":"e48972c97dec9e6f","name":"Request","timestamp":1646055601034230,"trace_id":"5f704ff9df831936c4807d24357b1753","type":"external","action":"request","outcome":"success","parent_id":"0f165f1af2c16c41","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5f704ff9df831936"}} +{"span":{"duration":0.077667,"id":"6d88e891a9fd7c04","name":"Response","timestamp":1646055601155284,"trace_id":"5f704ff9df831936c4807d24357b1753","type":"external","action":"response","outcome":"success","parent_id":"0f165f1af2c16c41","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5f704ff9df831936"}} +{"span":{"duration":121.154917,"id":"0f165f1af2c16c41","name":"GET opbeans-ruby:3000","timestamp":1646055601034208,"trace_id":"5f704ff9df831936c4807d24357b1753","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/6/customers","status_code":500}},"outcome":"failure","parent_id":"5f704ff9df831936","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5f704ff9df831936"}} +{"transaction":{"duration":121.560459,"id":"5f704ff9df831936","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055601034144,"trace_id":"5f704ff9df831936c4807d24357b1753","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"77"},"status_code":500},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":0.2845,"id":"9ec987bc71f4e139","name":"SELECT FROM product_types","timestamp":1646055601177847,"trace_id":"5374a9fc26b850832d60edbaff370869","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5374a9fc26b85083","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5374a9fc26b85083"}} +{"transaction":{"duration":0.391291,"id":"5374a9fc26b85083","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055601177831,"trace_id":"5374a9fc26b850832d60edbaff370869","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.344042,"id":"18f5cf8d8c2ff625","name":"SELECT FROM customers","timestamp":1646055601196469,"trace_id":"d8f1343125fbca3b4e185fd3c600103e","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a10eb647386cd233","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a10eb647386cd233"}} +{"transaction":{"duration":3.180791,"id":"a10eb647386cd233","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055601196452,"trace_id":"d8f1343125fbca3b4e185fd3c600103e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-d8f1343125fbca3b4e185fd3c600103e-cb33ba2a4bf10c34-01","Traceparent":"00-d8f1343125fbca3b4e185fd3c600103e-cb33ba2a4bf10c34-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"cb33ba2a4bf10c34","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.280209,"id":"9b66c5630930ccd4","name":"Request","timestamp":1646055601196407,"trace_id":"d8f1343125fbca3b4e185fd3c600103e","type":"external","action":"request","outcome":"success","parent_id":"cb33ba2a4bf10c34","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d8f1343125fbca3b"}} +{"span":{"duration":2.232833,"id":"5c1e51a9cee6a364","name":"Response","timestamp":1646055601199689,"trace_id":"d8f1343125fbca3b4e185fd3c600103e","type":"external","action":"response","outcome":"success","parent_id":"cb33ba2a4bf10c34","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d8f1343125fbca3b"}} +{"span":{"duration":5.536957999999999,"id":"cb33ba2a4bf10c34","name":"GET opbeans-go:3000","timestamp":1646055601196389,"trace_id":"d8f1343125fbca3b4e185fd3c600103e","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"d8f1343125fbca3b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d8f1343125fbca3b"}} +{"transaction":{"duration":5.6914169999999995,"id":"d8f1343125fbca3b","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055601196313,"trace_id":"d8f1343125fbca3b4e185fd3c600103e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:01 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.316417,"id":"e13d061259b9cdbc","name":"DNS opbeans-go","timestamp":1646055601220151,"trace_id":"e593ccf1ee365980f74750152dc471c3","type":"external","action":"dns","outcome":"success","parent_id":"226d8fb968f7e28a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e593ccf1ee365980"}} +{"span":{"duration":0.201292,"id":"372e2a2e1e072db2","name":"Connect 172.23.0.9:3000","timestamp":1646055601220471,"trace_id":"e593ccf1ee365980f74750152dc471c3","type":"external","action":"connect","outcome":"success","parent_id":"226d8fb968f7e28a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e593ccf1ee365980"}} +{"span":{"duration":0.400208,"id":"3e377e0421de27f9","name":"SELECT FROM products","timestamp":1646055601235293,"trace_id":"e593ccf1ee365980f74750152dc471c3","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7335e757a6943f5e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7335e757a6943f5e"}} +{"transaction":{"duration":0.697916,"id":"7335e757a6943f5e","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055601235271,"trace_id":"e593ccf1ee365980f74750152dc471c3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-e593ccf1ee365980f74750152dc471c3-7511b0a9c97b72cb-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-e593ccf1ee365980f74750152dc471c3-7511b0a9c97b72cb-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"7511b0a9c97b72cb","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":23.88275,"id":"d6e4256d814145fd","name":"Request","timestamp":1646055601220833,"trace_id":"e593ccf1ee365980f74750152dc471c3","type":"external","action":"request","outcome":"success","parent_id":"c71f894fa011212b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"73a960f5daca227d"}} +{"span":{"duration":24.173166,"id":"501731e144390f45","name":"Request","timestamp":1646055601220685,"trace_id":"e593ccf1ee365980f74750152dc471c3","type":"external","action":"request","outcome":"success","parent_id":"226d8fb968f7e28a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e593ccf1ee365980"}} +{"span":{"duration":0.219417,"id":"bc7ff5704f8d5013","name":"Response","timestamp":1646055601244738,"trace_id":"e593ccf1ee365980f74750152dc471c3","type":"external","action":"response","outcome":"success","parent_id":"c71f894fa011212b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"73a960f5daca227d"}} +{"span":{"duration":24.132583999999998,"id":"c71f894fa011212b","name":"GET opbeans-ruby:3000","timestamp":1646055601220825,"trace_id":"e593ccf1ee365980f74750152dc471c3","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products","status_code":200}},"outcome":"success","parent_id":"73a960f5daca227d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"73a960f5daca227d"}} +{"transaction":{"duration":24.926625,"id":"73a960f5daca227d","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055601220749,"trace_id":"e593ccf1ee365980f74750152dc471c3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Traceparent":"00-e593ccf1ee365980f74750152dc471c3-226d8fb968f7e28a-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-e593ccf1ee365980f74750152dc471c3-226d8fb968f7e28a-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"226d8fb968f7e28a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.856958,"id":"0495ed6d24138b5d","name":"Response","timestamp":1646055601244862,"trace_id":"e593ccf1ee365980f74750152dc471c3","type":"external","action":"response","outcome":"success","parent_id":"226d8fb968f7e28a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e593ccf1ee365980"}} +{"span":{"duration":25.619583000000002,"id":"226d8fb968f7e28a","name":"GET opbeans-go:3000","timestamp":1646055601220100,"trace_id":"e593ccf1ee365980f74750152dc471c3","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products","status_code":200}},"outcome":"success","parent_id":"e593ccf1ee365980","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e593ccf1ee365980"}} +{"transaction":{"duration":25.933375,"id":"e593ccf1ee365980","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055601219962,"trace_id":"e593ccf1ee365980f74750152dc471c3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:01 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.670708,"id":"4fce7d5264c31c82","name":"SELECT FROM orders","timestamp":1646055601289466,"trace_id":"18d703c1111f6e23a4d9c1b4ee945d7e","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e3cd2559730f3c8e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e3cd2559730f3c8e"}} +{"transaction":{"duration":3.496333,"id":"e3cd2559730f3c8e","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055601289430,"trace_id":"18d703c1111f6e23a4d9c1b4ee945d7e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Traceparent":"00-18d703c1111f6e23a4d9c1b4ee945d7e-3aa947787fd5ba1a-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-18d703c1111f6e23a4d9c1b4ee945d7e-3aa947787fd5ba1a-01","Connection":"close","User-Agent":"http.rb/5.0.4"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"3aa947787fd5ba1a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":19.147084000000003,"id":"886c47646498ce4d","name":"Request","timestamp":1646055601279228,"trace_id":"18d703c1111f6e23a4d9c1b4ee945d7e","type":"external","action":"request","outcome":"success","parent_id":"fcee48de6cdb68fb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"18d703c1111f6e23"}} +{"span":{"duration":2.193125,"id":"66425de334ee9919","name":"Response","timestamp":1646055601298400,"trace_id":"18d703c1111f6e23a4d9c1b4ee945d7e","type":"external","action":"response","outcome":"success","parent_id":"fcee48de6cdb68fb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"18d703c1111f6e23"}} +{"span":{"duration":21.400125,"id":"fcee48de6cdb68fb","name":"GET opbeans-ruby:3000","timestamp":1646055601279196,"trace_id":"18d703c1111f6e23a4d9c1b4ee945d7e","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"18d703c1111f6e23","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"18d703c1111f6e23"}} +{"transaction":{"duration":21.609583,"id":"18d703c1111f6e23","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055601279062,"trace_id":"18d703c1111f6e23a4d9c1b4ee945d7e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.310583,"id":"d24fe3814aafd2a3","name":"SELECT FROM products","timestamp":1646055601316652,"trace_id":"4ffe497f9d997262b088136e8588b0bd","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4ffe497f9d997262","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4ffe497f9d997262"}} +{"transaction":{"duration":0.476833,"id":"4ffe497f9d997262","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055601316632,"trace_id":"4ffe497f9d997262b088136e8588b0bd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.278792,"id":"3d9097f5459f3de5","name":"DNS opbeans-python","timestamp":1646055601334915,"trace_id":"5337911f58264b9659102c512d445a42","type":"external","action":"dns","outcome":"success","parent_id":"2358f1927d0c6d1d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5337911f58264b96"}} +{"span":{"duration":0.10466600000000001,"id":"33336cea2b2a99c9","name":"Connect 172.23.0.11:3000","timestamp":1646055601335199,"trace_id":"5337911f58264b9659102c512d445a42","type":"external","action":"connect","outcome":"success","parent_id":"2358f1927d0c6d1d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5337911f58264b96"}} +{"span":{"duration":3.135541,"id":"3588c9c9b727fb0e","name":"SELECT FROM customers","timestamp":1646055601388674,"trace_id":"5337911f58264b9659102c512d445a42","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9a3ed28236828080","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9a3ed28236828080"}} +{"transaction":{"duration":5.678083,"id":"9a3ed28236828080","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055601388644,"trace_id":"5337911f58264b9659102c512d445a42","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1/customers"},"headers":{"Elastic-Apm-Traceparent":"00-5337911f58264b9659102c512d445a42-5d81f8707d487f64-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-5337911f58264b9659102c512d445a42-5d81f8707d487f64-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"5d81f8707d487f64","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":98.545375,"id":"f96eec18274eb5c0","name":"Request","timestamp":1646055601335320,"trace_id":"5337911f58264b9659102c512d445a42","type":"external","action":"request","outcome":"success","parent_id":"2358f1927d0c6d1d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5337911f58264b96"}} +{"span":{"duration":10.968458,"id":"79625138e5a41de1","name":"Response","timestamp":1646055601433912,"trace_id":"5337911f58264b9659102c512d445a42","type":"external","action":"response","outcome":"success","parent_id":"2358f1927d0c6d1d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5337911f58264b96"}} +{"span":{"duration":110.119625,"id":"2358f1927d0c6d1d","name":"GET opbeans-python:3000","timestamp":1646055601334841,"trace_id":"5337911f58264b9659102c512d445a42","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/1/customers","status_code":200}},"outcome":"success","parent_id":"5337911f58264b96","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5337911f58264b96"}} +{"transaction":{"duration":110.30058399999999,"id":"5337911f58264b96","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055601334726,"trace_id":"5337911f58264b9659102c512d445a42","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","Referrer-Policy":"same-origin","X-Frame-Options":"DENY","Content-Length":"111563","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:01 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.4972919999999998,"id":"30fd93cfca1a9ddc","name":"SELECT FROM orders","timestamp":1646055601473203,"trace_id":"7e6a8b904f14c0a34aa2560b8b8ebf33","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7e6a8b904f14c0a3","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7e6a8b904f14c0a3"}} +{"span":{"duration":4.728166,"id":"d499dc8aaf595458","name":"SELECT FROM products","timestamp":1646055601474765,"trace_id":"7e6a8b904f14c0a34aa2560b8b8ebf33","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7e6a8b904f14c0a3","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7e6a8b904f14c0a3"}} +{"transaction":{"duration":6.582333,"id":"7e6a8b904f14c0a3","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055601473182,"trace_id":"7e6a8b904f14c0a34aa2560b8b8ebf33","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/998","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/998"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.507042,"id":"e73558181ae1fc86","name":"SELECT FROM products","timestamp":1646055601499979,"trace_id":"0476b7e4b67d3e6599a3a8fe8bb888a9","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0476b7e4b67d3e65","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0476b7e4b67d3e65"}} +{"transaction":{"duration":0.673833,"id":"0476b7e4b67d3e65","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055601499958,"trace_id":"0476b7e4b67d3e6599a3a8fe8bb888a9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.398875,"id":"9167983ab74bf21b","name":"SELECT FROM customers","timestamp":1646055601518572,"trace_id":"00c61b89771dcc5ed894a507ff35825d","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"00c61b89771dcc5e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"00c61b89771dcc5e"}} +{"transaction":{"duration":0.527708,"id":"00c61b89771dcc5e","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055601518520,"trace_id":"00c61b89771dcc5ed894a507ff35825d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/37","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/37"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.992417,"id":"3a99de32f0060b15","name":"DNS opbeans-ruby","timestamp":1646055601541884,"trace_id":"a308b37a006c320bc2b6a409f5720d96","type":"external","action":"dns","outcome":"success","parent_id":"feb1d236f9b46ae5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a308b37a006c320b"}} +{"span":{"duration":0.410167,"id":"16e746bf5aa1af14","name":"Connect 172.23.0.12:3000","timestamp":1646055601542896,"trace_id":"a308b37a006c320bc2b6a409f5720d96","type":"external","action":"connect","outcome":"success","parent_id":"feb1d236f9b46ae5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a308b37a006c320b"}} +{"span":{"duration":0.325042,"id":"e081eac4ba8bc9d3","name":"DNS opbeans-python","timestamp":1646055601575901,"trace_id":"b0a980f5a67493d0637acf274faa01aa","type":"external","action":"dns","outcome":"success","parent_id":"537bd44c66d2d59e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b0a980f5a67493d0"}} +{"span":{"duration":0.10325000000000001,"id":"98d4818ab898491b","name":"Connect 172.23.0.11:3000","timestamp":1646055601576231,"trace_id":"b0a980f5a67493d0637acf274faa01aa","type":"external","action":"connect","outcome":"success","parent_id":"537bd44c66d2d59e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b0a980f5a67493d0"}} +{"span":{"duration":61.864917,"id":"8f80ebb207c59a38","name":"Request","timestamp":1646055601543331,"trace_id":"a308b37a006c320bc2b6a409f5720d96","type":"external","action":"request","outcome":"success","parent_id":"feb1d236f9b46ae5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a308b37a006c320b"}} +{"span":{"duration":0.086583,"id":"b386dddbe5e82265","name":"Response","timestamp":1646055601605223,"trace_id":"a308b37a006c320bc2b6a409f5720d96","type":"external","action":"response","outcome":"success","parent_id":"feb1d236f9b46ae5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a308b37a006c320b"}} +{"span":{"duration":63.480125,"id":"feb1d236f9b46ae5","name":"GET opbeans-ruby:3000","timestamp":1646055601541831,"trace_id":"a308b37a006c320bc2b6a409f5720d96","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers","status_code":500}},"outcome":"failure","parent_id":"a308b37a006c320b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a308b37a006c320b"}} +{"transaction":{"duration":63.81704200000001,"id":"a308b37a006c320b","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055601541756,"trace_id":"a308b37a006c320bc2b6a409f5720d96","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"77"},"status_code":500},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":0.453459,"id":"fefc05e5329dfba9","name":"SELECT FROM orders","timestamp":1646055601635427,"trace_id":"58e980bf5498d4933ac4c2d41857cd29","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"58e980bf5498d493","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"58e980bf5498d493"}} +{"span":{"duration":0.511917,"id":"b3e4b1e9601edf45","name":"SELECT FROM products","timestamp":1646055601635915,"trace_id":"58e980bf5498d4933ac4c2d41857cd29","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"58e980bf5498d493","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"58e980bf5498d493"}} +{"transaction":{"duration":1.365958,"id":"58e980bf5498d493","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055601635409,"trace_id":"58e980bf5498d4933ac4c2d41857cd29","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/414","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/414"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.35108300000000003,"id":"b65221b04fc0757e","name":"SELECT FROM products","timestamp":1646055601654615,"trace_id":"79768cbfdf96dc5af9622244583600a9","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"79768cbfdf96dc5a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"79768cbfdf96dc5a"}} +{"transaction":{"duration":0.6935,"id":"79768cbfdf96dc5a","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055601654514,"trace_id":"79768cbfdf96dc5af9622244583600a9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.2647909999999998,"id":"45ed644302c31535","name":"SELECT FROM products","timestamp":1646055601674103,"trace_id":"4cffd79ccbe795845e90e1da57d9250b","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4cffd79ccbe79584","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4cffd79ccbe79584"}} +{"transaction":{"duration":2.6033749999999998,"id":"4cffd79ccbe79584","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055601674070,"trace_id":"4cffd79ccbe795845e90e1da57d9250b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.34725,"id":"f49047b8f521ced3","name":"DNS opbeans-python","timestamp":1646055601696641,"trace_id":"0fe3da6293fe5cb56e6160850bcaa038","type":"external","action":"dns","outcome":"success","parent_id":"0f493d35786a23ae","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0fe3da6293fe5cb5"}} +{"span":{"duration":0.120917,"id":"37fd173a3acbcaea","name":"Connect 172.23.0.11:3000","timestamp":1646055601696993,"trace_id":"0fe3da6293fe5cb56e6160850bcaa038","type":"external","action":"connect","outcome":"success","parent_id":"0f493d35786a23ae","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0fe3da6293fe5cb5"}} +{"span":{"duration":1.3329579999999999,"id":"cbdee9f842ef3d39","name":"SELECT FROM products","timestamp":1646055601861709,"trace_id":"0fe3da6293fe5cb56e6160850bcaa038","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"cb31727b5b59cceb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"cb31727b5b59cceb"}} +{"transaction":{"duration":1.5017500000000001,"id":"cb31727b5b59cceb","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055601861693,"trace_id":"0fe3da6293fe5cb56e6160850bcaa038","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Elastic-Apm-Traceparent":"00-0fe3da6293fe5cb56e6160850bcaa038-852c8cfbf069c025-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-0fe3da6293fe5cb56e6160850bcaa038-852c8cfbf069c025-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"852c8cfbf069c025","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":204.20458399999998,"id":"ae70350c942383a1","name":"Request","timestamp":1646055601697125,"trace_id":"0fe3da6293fe5cb56e6160850bcaa038","type":"external","action":"request","outcome":"success","parent_id":"0f493d35786a23ae","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0fe3da6293fe5cb5"}} +{"span":{"duration":0.374208,"id":"10e33889b2b644fd","name":"Response","timestamp":1646055601901352,"trace_id":"0fe3da6293fe5cb56e6160850bcaa038","type":"external","action":"response","outcome":"success","parent_id":"0f493d35786a23ae","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0fe3da6293fe5cb5"}} +{"span":{"duration":205.2925,"id":"0f493d35786a23ae","name":"GET opbeans-python:3000","timestamp":1646055601696435,"trace_id":"0fe3da6293fe5cb56e6160850bcaa038","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"0fe3da6293fe5cb5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0fe3da6293fe5cb5"}} +{"transaction":{"duration":205.786042,"id":"0fe3da6293fe5cb5","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055601696083,"trace_id":"0fe3da6293fe5cb56e6160850bcaa038","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","Content-Length":"403","Referrer-Policy":"same-origin","Server":"gunicorn","X-Content-Type-Options":"nosniff","Vary":"Cookie","Date":"Mon, 28 Feb 2022 13:40:01 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.412583,"id":"7fe6f11a12aa7cf0","name":"SELECT FROM products","timestamp":1646055601920983,"trace_id":"b3e81a2c02d4e6647d4875b462751eae","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b3e81a2c02d4e664","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b3e81a2c02d4e664"}} +{"transaction":{"duration":0.539041,"id":"b3e81a2c02d4e664","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055601920952,"trace_id":"b3e81a2c02d4e6647d4875b462751eae","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.37483299999999997,"id":"d4c655df64cc0584","name":"SELECT FROM customers","timestamp":1646055601939994,"trace_id":"9beac66efdb6228b70bb4c0600e6fa29","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9beac66efdb6228b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9beac66efdb6228b"}} +{"transaction":{"duration":0.7506659999999999,"id":"9beac66efdb6228b","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055601939956,"trace_id":"9beac66efdb6228b70bb4c0600e6fa29","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/337","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/337"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.416583,"id":"f96d88b350ae53ed","name":"DNS opbeans-node","timestamp":1646055601961086,"trace_id":"72e0a6075c61e98e36216cc0e20ad11c","type":"external","action":"dns","outcome":"success","parent_id":"554e7253571c5c2e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"72e0a6075c61e98e"}} +{"span":{"duration":0.31833300000000003,"id":"29ca6c6bdd34c6bd","name":"Connect 172.23.0.10:3000","timestamp":1646055601961508,"trace_id":"72e0a6075c61e98e36216cc0e20ad11c","type":"external","action":"connect","outcome":"failure","parent_id":"554e7253571c5c2e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"72e0a6075c61e98e"}} +{"span":{"duration":0.791875,"id":"554e7253571c5c2e","name":"GET opbeans-node:3000","timestamp":1646055601961039,"trace_id":"72e0a6075c61e98e36216cc0e20ad11c","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types"}},"outcome":"success","parent_id":"72e0a6075c61e98e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"72e0a6075c61e98e"}} +{"transaction":{"duration":1.111917,"id":"72e0a6075c61e98e","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055601960815,"trace_id":"72e0a6075c61e98e36216cc0e20ad11c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":502},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":0.7240420000000001,"id":"21d94fda7933b3e8","name":"SELECT FROM orders","timestamp":1646055601983358,"trace_id":"0f10a75bebee036684ad82d79fc02d85","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0f10a75bebee0366","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0f10a75bebee0366"}} +{"span":{"duration":0.5446249999999999,"id":"221798d98a7229f1","name":"SELECT FROM products","timestamp":1646055601984112,"trace_id":"0f10a75bebee036684ad82d79fc02d85","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0f10a75bebee0366","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0f10a75bebee0366"}} +{"transaction":{"duration":1.4909999999999999,"id":"0f10a75bebee0366","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055601983337,"trace_id":"0f10a75bebee036684ad82d79fc02d85","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/940","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/940"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.69475,"id":"d27aeb2542252246","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055602003345,"trace_id":"d27aeb2542252246f71de475c6a417c9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f71de475c6a417c9","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.397,"id":"cb13e61a9ad465c0","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055602024514,"trace_id":"cb13e61a9ad465c06f0b7110c29342af","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6f0b7110c29342af","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":77.10516700000001,"id":"85779396e98ac945","name":"Request","timestamp":1646055602051313,"trace_id":"aad9daaf738ec59531a50e570995e79f","type":"external","action":"request","outcome":"success","parent_id":"2c4f3c2e55ce8f93","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aad9daaf738ec595"}} +{"span":{"duration":0.446625,"id":"4ec6536b8135f5b7","name":"Response","timestamp":1646055602128451,"trace_id":"aad9daaf738ec59531a50e570995e79f","type":"external","action":"response","outcome":"success","parent_id":"2c4f3c2e55ce8f93","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aad9daaf738ec595"}} +{"span":{"duration":77.6105,"id":"2c4f3c2e55ce8f93","name":"GET opbeans-ruby:3000","timestamp":1646055602051289,"trace_id":"aad9daaf738ec59531a50e570995e79f","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/973","status_code":404}},"outcome":"failure","parent_id":"aad9daaf738ec595","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aad9daaf738ec595"}} +{"transaction":{"duration":77.845416,"id":"aad9daaf738ec595","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055602051174,"trace_id":"aad9daaf738ec59531a50e570995e79f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/973","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/973"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Runtime":"0.061676","Content-Length":"1722","Content-Type":"text/html; charset=UTF-8","X-Request-Id":"4034c38e-b1ee-49fd-bb88-d017625ae07d"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.403916,"id":"7f6d202ab8464be5","name":"DNS opbeans-go","timestamp":1646055602156799,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"external","action":"dns","outcome":"success","parent_id":"b7a09e2b8d5239e7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7e7682165a0bc671"}} +{"span":{"duration":0.100042,"id":"e1ddc3e5f8583d27","name":"Connect 172.23.0.9:3000","timestamp":1646055602157209,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"external","action":"connect","outcome":"success","parent_id":"b7a09e2b8d5239e7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7e7682165a0bc671"}} +{"span":{"duration":0.8075829999999999,"id":"75ef9c3fd05d5faa","name":"DNS opbeans-go","timestamp":1646055602157827,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"external","action":"dns","outcome":"success","parent_id":"8c6a9797e0e7a10e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"36184f0a50d98b99"}} +{"span":{"duration":0.365334,"id":"977316052811c8b1","name":"Connect 172.23.0.9:3000","timestamp":1646055602158641,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"external","action":"connect","outcome":"success","parent_id":"8c6a9797e0e7a10e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"36184f0a50d98b99"}} +{"span":{"duration":1.518375,"id":"cee55f15654d5df2","name":"SELECT FROM customers","timestamp":1646055602159382,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a719797b96ec65f7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a719797b96ec65f7"}} +{"transaction":{"duration":3.516292,"id":"a719797b96ec65f7","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055602159342,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-232b2641b1a6e83b1c30394f46e25798-8c6a9797e0e7a10e-01","Traceparent":"00-232b2641b1a6e83b1c30394f46e25798-8c6a9797e0e7a10e-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14, 172.23.0.9, 172.23.0.9","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"8c6a9797e0e7a10e","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.868458,"id":"040eb687258f6b4d","name":"Request","timestamp":1646055602159046,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"external","action":"request","outcome":"success","parent_id":"8c6a9797e0e7a10e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"36184f0a50d98b99"}} +{"span":{"duration":0.144208,"id":"fecc9df766be93ec","name":"Response","timestamp":1646055602162917,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"external","action":"response","outcome":"success","parent_id":"8c6a9797e0e7a10e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"36184f0a50d98b99"}} +{"span":{"duration":5.268625,"id":"8c6a9797e0e7a10e","name":"GET opbeans-go:3000","timestamp":1646055602157793,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/4/customers","status_code":200}},"outcome":"success","parent_id":"36184f0a50d98b99","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"36184f0a50d98b99"}} +{"transaction":{"duration":5.650666,"id":"36184f0a50d98b99","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055602157474,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4/customers"},"headers":{"Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14, 172.23.0.9","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-232b2641b1a6e83b1c30394f46e25798-b7a09e2b8d5239e7-01","Traceparent":"00-232b2641b1a6e83b1c30394f46e25798-b7a09e2b8d5239e7-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:02 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b7a09e2b8d5239e7","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":5.9490419999999995,"id":"45e474dacd42c625","name":"Request","timestamp":1646055602157320,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"external","action":"request","outcome":"success","parent_id":"b7a09e2b8d5239e7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7e7682165a0bc671"}} +{"span":{"duration":0.152833,"id":"ac5063613ceb5c42","name":"Response","timestamp":1646055602163275,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"external","action":"response","outcome":"success","parent_id":"b7a09e2b8d5239e7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7e7682165a0bc671"}} +{"span":{"duration":6.668,"id":"b7a09e2b8d5239e7","name":"GET opbeans-go:3000","timestamp":1646055602156761,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/4/customers","status_code":200}},"outcome":"success","parent_id":"7e7682165a0bc671","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7e7682165a0bc671"}} +{"transaction":{"duration":6.854584,"id":"7e7682165a0bc671","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055602156626,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-232b2641b1a6e83b1c30394f46e25798-49006aae0f778e19-01","Traceparent":"00-232b2641b1a6e83b1c30394f46e25798-49006aae0f778e19-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:02 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"49006aae0f778e19","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":7.3102920000000005,"id":"ddf732b0e24dd8f4","name":"Request","timestamp":1646055602156329,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"external","action":"request","outcome":"success","parent_id":"49006aae0f778e19","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"232b2641b1a6e83b"}} +{"span":{"duration":2.057,"id":"aa23f10aef653975","name":"Response","timestamp":1646055602163644,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"external","action":"response","outcome":"success","parent_id":"49006aae0f778e19","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"232b2641b1a6e83b"}} +{"span":{"duration":9.400875,"id":"49006aae0f778e19","name":"GET opbeans-go:3000","timestamp":1646055602156303,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/4/customers","status_code":200}},"outcome":"success","parent_id":"232b2641b1a6e83b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"232b2641b1a6e83b"}} +{"transaction":{"duration":9.715708,"id":"232b2641b1a6e83b","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055602156142,"trace_id":"232b2641b1a6e83b1c30394f46e25798","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:02 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.885208,"id":"99f0a56c9949d7c6","name":"DNS opbeans-node","timestamp":1646055602208085,"trace_id":"ddd5722147fefc2f8542d52a5baabb80","type":"external","action":"dns","outcome":"success","parent_id":"e4d67d538a056a4c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ddd5722147fefc2f"}} +{"span":{"duration":0.29862500000000003,"id":"a67701d62fea97aa","name":"Connect 172.23.0.10:3000","timestamp":1646055602208978,"trace_id":"ddd5722147fefc2f8542d52a5baabb80","type":"external","action":"connect","outcome":"failure","parent_id":"e4d67d538a056a4c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ddd5722147fefc2f"}} +{"span":{"duration":1.331875,"id":"e4d67d538a056a4c","name":"GET opbeans-node:3000","timestamp":1646055602207953,"trace_id":"ddd5722147fefc2f8542d52a5baabb80","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers"}},"outcome":"success","parent_id":"ddd5722147fefc2f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ddd5722147fefc2f"}} +{"transaction":{"duration":1.931625,"id":"ddd5722147fefc2f","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055602207754,"trace_id":"ddd5722147fefc2f8542d52a5baabb80","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":502},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":0.37687499999999996,"id":"9bc91a1a5af97a69","name":"DNS opbeans-python","timestamp":1646055602233964,"trace_id":"480dad4b2e19e027668fb6fd93342100","type":"external","action":"dns","outcome":"success","parent_id":"4985b6b26cfc1463","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"480dad4b2e19e027"}} +{"span":{"duration":0.12929200000000002,"id":"a32c7d1def5d9ada","name":"Connect 172.23.0.11:3000","timestamp":1646055602234345,"trace_id":"480dad4b2e19e027668fb6fd93342100","type":"external","action":"connect","outcome":"success","parent_id":"4985b6b26cfc1463","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"480dad4b2e19e027"}} +{"span":{"duration":4571.271503,"id":"e25f19521fa05ea0","name":"Request","timestamp":1646055602234492,"trace_id":"480dad4b2e19e027668fb6fd93342100","type":"external","action":"request","outcome":"success","parent_id":"4985b6b26cfc1463","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"480dad4b2e19e027"}} +{"span":{"duration":3.219167,"id":"d854aeff489edf94","name":"Response","timestamp":1646055606805796,"trace_id":"480dad4b2e19e027668fb6fd93342100","type":"external","action":"response","outcome":"success","parent_id":"4985b6b26cfc1463","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"480dad4b2e19e027"}} +{"span":{"duration":4575.219919,"id":"4985b6b26cfc1463","name":"GET opbeans-python:3000","timestamp":1646055602233798,"trace_id":"480dad4b2e19e027668fb6fd93342100","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"480dad4b2e19e027","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"480dad4b2e19e027"}} +{"transaction":{"duration":4575.5627939999995,"id":"480dad4b2e19e027","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055602233733,"trace_id":"480dad4b2e19e027668fb6fd93342100","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:06 GMT","Content-Type":"application/json","X-Frame-Options":"DENY","Vary":"Cookie","Referrer-Policy":"same-origin","Server":"gunicorn","Content-Length":"1112","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":133.921416,"id":"c3775ec5b5b52f5c","name":"Request","timestamp":1646055606832164,"trace_id":"ce6dd767229f2c32d71d53efcea9a68b","type":"external","action":"request","outcome":"success","parent_id":"8744506148fa00ba","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ce6dd767229f2c32"}} +{"span":{"duration":4.071167,"id":"32c908f7a7b9d3ad","name":"Response","timestamp":1646055606966110,"trace_id":"ce6dd767229f2c32d71d53efcea9a68b","type":"external","action":"response","outcome":"success","parent_id":"8744506148fa00ba","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ce6dd767229f2c32"}} +{"span":{"duration":138.03887500000002,"id":"8744506148fa00ba","name":"GET opbeans-ruby:3000","timestamp":1646055606832145,"trace_id":"ce6dd767229f2c32d71d53efcea9a68b","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/969","status_code":404}},"outcome":"failure","parent_id":"ce6dd767229f2c32","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ce6dd767229f2c32"}} +{"transaction":{"duration":138.25037500000002,"id":"ce6dd767229f2c32","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055606832021,"trace_id":"ce6dd767229f2c32d71d53efcea9a68b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/969","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/969"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=UTF-8"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.309208,"id":"b99d7ea092cc33cd","name":"SELECT FROM customers","timestamp":1646055606989786,"trace_id":"ba4d2e56826a7b1b99ff7ceebdca7139","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ba4d2e56826a7b1b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ba4d2e56826a7b1b"}} +{"transaction":{"duration":5.613625,"id":"ba4d2e56826a7b1b","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055606989764,"trace_id":"ba4d2e56826a7b1b99ff7ceebdca7139","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5463749999999999,"id":"bce3600809c0df6d","name":"DNS opbeans-node","timestamp":1646055607018838,"trace_id":"7249683ac688b97f7aea00b4b0fa541a","type":"external","action":"dns","outcome":"success","parent_id":"71c9599b51c1d3e1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7249683ac688b97f"}} +{"span":{"duration":0.12795800000000002,"id":"c78ca7a78ae30696","name":"Connect 172.23.0.10:3000","timestamp":1646055607019390,"trace_id":"7249683ac688b97f7aea00b4b0fa541a","type":"external","action":"connect","outcome":"success","parent_id":"71c9599b51c1d3e1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7249683ac688b97f"}} +{"span":{"duration":228.40849999999998,"id":"f6f8a3a89c7a5169","name":"Request","timestamp":1646055607019556,"trace_id":"7249683ac688b97f7aea00b4b0fa541a","type":"external","action":"request","outcome":"success","parent_id":"71c9599b51c1d3e1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7249683ac688b97f"}} +{"span":{"duration":0.234875,"id":"0a2167173953487b","name":"Response","timestamp":1646055607248035,"trace_id":"7249683ac688b97f7aea00b4b0fa541a","type":"external","action":"response","outcome":"success","parent_id":"71c9599b51c1d3e1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7249683ac688b97f"}} +{"span":{"duration":229.532916,"id":"71c9599b51c1d3e1","name":"GET opbeans-node:3000","timestamp":1646055607018738,"trace_id":"7249683ac688b97f7aea00b4b0fa541a","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types","status_code":200}},"outcome":"success","parent_id":"7249683ac688b97f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7249683ac688b97f"}} +{"transaction":{"duration":230.568625,"id":"7249683ac688b97f","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055607018500,"trace_id":"7249683ac688b97f7aea00b4b0fa541a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","X-Powered-By":"Express","Server":"gunicorn","Content-Type":"application/json","Content-Length":"123","Vary":"Cookie","Date":"Mon, 28 Feb 2022 13:40:07 GMT","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.3715,"id":"d5474ee61e947bf0","name":"DNS opbeans-node","timestamp":1646055607276136,"trace_id":"f8107f7898e3cc196d1ea808175c9085","type":"external","action":"dns","outcome":"success","parent_id":"9e0b38417dd63a69","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f8107f7898e3cc19"}} +{"span":{"duration":0.204875,"id":"57be062ffe43dbf3","name":"Connect 172.23.0.10:3000","timestamp":1646055607276513,"trace_id":"f8107f7898e3cc196d1ea808175c9085","type":"external","action":"connect","outcome":"success","parent_id":"9e0b38417dd63a69","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f8107f7898e3cc19"}} +{"span":{"duration":572.365584,"id":"a853ede82a5da66d","name":"Request","timestamp":1646055607276739,"trace_id":"f8107f7898e3cc196d1ea808175c9085","type":"external","action":"request","outcome":"success","parent_id":"9e0b38417dd63a69","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f8107f7898e3cc19"}} +{"span":{"duration":0.22279200000000002,"id":"a667c2a1d1b97ab1","name":"Response","timestamp":1646055607849157,"trace_id":"f8107f7898e3cc196d1ea808175c9085","type":"external","action":"response","outcome":"success","parent_id":"9e0b38417dd63a69","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f8107f7898e3cc19"}} +{"span":{"duration":573.401167,"id":"9e0b38417dd63a69","name":"GET opbeans-node:3000","timestamp":1646055607275980,"trace_id":"f8107f7898e3cc196d1ea808175c9085","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/1/customers?limit=60","status_code":200}},"outcome":"success","parent_id":"f8107f7898e3cc19","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f8107f7898e3cc19"}} +{"transaction":{"duration":573.6967080000001,"id":"f8107f7898e3cc19","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055607275881,"trace_id":"f8107f7898e3cc196d1ea808175c9085","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","search":"limit=60","full":"http://opbeans-go:3000/api/products/1/customers?limit=60"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Permitted-Cross-Domain-Policies":"none","X-Content-Type-Options":"nosniff","X-Runtime":"0.041985","Cache-Control":"max-age=0, private, must-revalidate","X-Powered-By":"Express","Referrer-Policy":"strict-origin-when-cross-origin","Etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","X-Request-Id":"5e117079-687e-4a7c-aec9-efbd138fd663","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"SAMEORIGIN","Date":"Mon, 28 Feb 2022 13:40:07 GMT","X-Xss-Protection":"1; mode=block","X-Download-Options":"noopen"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.46525,"id":"e8b13f950ac636d4","name":"SELECT FROM customers","timestamp":1646055607869173,"trace_id":"0b693c0043e5d14aba035afb2fcc2f59","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0b693c0043e5d14a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0b693c0043e5d14a"}} +{"transaction":{"duration":2.898417,"id":"0b693c0043e5d14a","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055607869092,"trace_id":"0b693c0043e5d14aba035afb2fcc2f59","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","search":"limit=110","full":"http://opbeans-go:3000/api/products/6/customers?limit=110"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.908791,"id":"28458feb6f0d018d","name":"SELECT FROM customers","timestamp":1646055607892965,"trace_id":"47b845d154214f6dc23be26352b91c5c","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"47b845d154214f6d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"47b845d154214f6d"}} +{"transaction":{"duration":3.836292,"id":"47b845d154214f6d","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055607892944,"trace_id":"47b845d154214f6dc23be26352b91c5c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.6992079999999999,"id":"57fc4347e6590a25","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055607918281,"trace_id":"57fc4347e6590a25ad17ae1a11193902","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.1495,"id":"c2aa52e313004dc5","name":"SELECT FROM customers","timestamp":1646055607940259,"trace_id":"f93a525153719d6209cbcba3b2040af3","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4897ea0d20a6b44d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4897ea0d20a6b44d"}} +{"transaction":{"duration":1.558375,"id":"4897ea0d20a6b44d","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055607940233,"trace_id":"f93a525153719d6209cbcba3b2040af3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/674","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/674"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-f93a525153719d6209cbcba3b2040af3-50d8b9e6a819a684-01","Traceparent":"00-f93a525153719d6209cbcba3b2040af3-50d8b9e6a819a684-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"50d8b9e6a819a684","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.732041,"id":"366bb3d1355b628f","name":"Request","timestamp":1646055607940110,"trace_id":"f93a525153719d6209cbcba3b2040af3","type":"external","action":"request","outcome":"success","parent_id":"50d8b9e6a819a684","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f93a525153719d62"}} +{"span":{"duration":0.045792,"id":"f22d8a0077f49310","name":"Response","timestamp":1646055607941843,"trace_id":"f93a525153719d6209cbcba3b2040af3","type":"external","action":"response","outcome":"success","parent_id":"50d8b9e6a819a684","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f93a525153719d62"}} +{"span":{"duration":1.819125,"id":"50d8b9e6a819a684","name":"GET opbeans-go:3000","timestamp":1646055607940071,"trace_id":"f93a525153719d6209cbcba3b2040af3","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/674","status_code":200}},"outcome":"success","parent_id":"f93a525153719d62","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f93a525153719d62"}} +{"transaction":{"duration":2.1563749999999997,"id":"f93a525153719d62","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055607939827,"trace_id":"f93a525153719d6209cbcba3b2040af3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/674","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/674"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:07 GMT","Content-Length":"191"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.27787500000000004,"id":"fe4fdbf18f1811fd","name":"SELECT FROM customers","timestamp":1646055607959948,"trace_id":"9decb1dd9fdd88f72df1dd033ba50771","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9decb1dd9fdd88f7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9decb1dd9fdd88f7"}} +{"transaction":{"duration":2.7699170000000004,"id":"9decb1dd9fdd88f7","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055607959909,"trace_id":"9decb1dd9fdd88f72df1dd033ba50771","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.345834,"id":"deb56de1787ccaf0","name":"SELECT FROM orders","timestamp":1646055607981882,"trace_id":"0ac5b693e204421c925e7c8b976d7541","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0ac5b693e204421c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0ac5b693e204421c"}} +{"span":{"duration":0.6377499999999999,"id":"8e2f4542fe65d4ea","name":"SELECT FROM products","timestamp":1646055607982264,"trace_id":"0ac5b693e204421c925e7c8b976d7541","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0ac5b693e204421c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0ac5b693e204421c"}} +{"transaction":{"duration":1.282375,"id":"0ac5b693e204421c","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055607981865,"trace_id":"0ac5b693e204421c925e7c8b976d7541","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/258","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/258"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.10375,"id":"ddac273ac4afb51d","name":"SELECT FROM customers","timestamp":1646055608001166,"trace_id":"7797354325afff3ff82051a21841f803","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7797354325afff3f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7797354325afff3f"}} +{"transaction":{"duration":2.649083,"id":"7797354325afff3f","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055608001129,"trace_id":"7797354325afff3ff82051a21841f803","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","search":"limit=70","full":"http://opbeans-go:3000/api/products/3/customers?limit=70"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.435083,"id":"d383d048e94fff8b","name":"DNS opbeans-node","timestamp":1646055608023602,"trace_id":"65bc64ddd7f8a17c734c0d7127f94354","type":"external","action":"dns","outcome":"success","parent_id":"aac310cc0848ae23","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"65bc64ddd7f8a17c"}} +{"span":{"duration":0.115166,"id":"7e03798af3552fb3","name":"Connect 172.23.0.10:3000","timestamp":1646055608024042,"trace_id":"65bc64ddd7f8a17c734c0d7127f94354","type":"external","action":"connect","outcome":"success","parent_id":"aac310cc0848ae23","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"65bc64ddd7f8a17c"}} +{"span":{"duration":0.640084,"id":"3439ed7da382d974","name":"DNS opbeans-ruby","timestamp":1646055608422153,"trace_id":"d14d58267cb344fa7a55ab5075b14e77","type":"external","action":"dns","outcome":"success","parent_id":"95a5aac6f6244ab3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e22f9a97006004c6"}} +{"span":{"duration":0.161541,"id":"e9a1f0ca8d891a40","name":"Connect 172.23.0.12:3000","timestamp":1646055608422799,"trace_id":"d14d58267cb344fa7a55ab5075b14e77","type":"external","action":"connect","outcome":"success","parent_id":"95a5aac6f6244ab3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e22f9a97006004c6"}} +{"span":{"duration":496.016625,"id":"142bdc45a865b7c0","name":"Request","timestamp":1646055608024170,"trace_id":"65bc64ddd7f8a17c734c0d7127f94354","type":"external","action":"request","outcome":"success","parent_id":"aac310cc0848ae23","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"65bc64ddd7f8a17c"}} +{"span":{"duration":0.237041,"id":"0f3033dcb74f02c5","name":"Response","timestamp":1646055608520275,"trace_id":"65bc64ddd7f8a17c734c0d7127f94354","type":"external","action":"response","outcome":"success","parent_id":"aac310cc0848ae23","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"65bc64ddd7f8a17c"}} +{"span":{"duration":497.04733400000003,"id":"aac310cc0848ae23","name":"GET opbeans-node:3000","timestamp":1646055608023469,"trace_id":"65bc64ddd7f8a17c734c0d7127f94354","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/5/customers","status_code":200}},"outcome":"success","parent_id":"65bc64ddd7f8a17c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"65bc64ddd7f8a17c"}} +{"transaction":{"duration":497.48204200000004,"id":"65bc64ddd7f8a17c","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055608023406,"trace_id":"65bc64ddd7f8a17c734c0d7127f94354","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"2","Etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","Date":"Mon, 28 Feb 2022 13:40:08 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":133.316833,"id":"a8aa551dd5f76a65","name":"Request","timestamp":1646055608541581,"trace_id":"c06718ca7d4b7dcf0fd76c992896ba57","type":"external","action":"request","outcome":"success","parent_id":"baaad981dba40747","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a9d0b1a220402c13"}} +{"span":{"duration":0.0575,"id":"a3029087e7a137be","name":"Response","timestamp":1646055608674934,"trace_id":"c06718ca7d4b7dcf0fd76c992896ba57","type":"external","action":"response","outcome":"success","parent_id":"baaad981dba40747","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a9d0b1a220402c13"}} +{"span":{"duration":133.420125,"id":"baaad981dba40747","name":"GET opbeans-node:3000","timestamp":1646055608541572,"trace_id":"c06718ca7d4b7dcf0fd76c992896ba57","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/3","status_code":200}},"outcome":"success","parent_id":"a9d0b1a220402c13","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a9d0b1a220402c13"}} +{"transaction":{"duration":133.655833,"id":"a9d0b1a220402c13","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055608541507,"trace_id":"c06718ca7d4b7dcf0fd76c992896ba57","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-c06718ca7d4b7dcf0fd76c992896ba57-9fe1daa7fda33f70-01","Traceparent":"00-c06718ca7d4b7dcf0fd76c992896ba57-9fe1daa7fda33f70-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"231","Etag":"W/\"e7-kkuzj37GZDzXDh0CWqh5Gan0VO4\"","Date":"Mon, 28 Feb 2022 13:40:08 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"9fe1daa7fda33f70","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":133.92437500000003,"id":"b98bac10e79b45d9","name":"Request","timestamp":1646055608541292,"trace_id":"c06718ca7d4b7dcf0fd76c992896ba57","type":"external","action":"request","outcome":"success","parent_id":"9fe1daa7fda33f70","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c06718ca7d4b7dcf"}} +{"span":{"duration":0.038625,"id":"9720bcf7f3f4604a","name":"Response","timestamp":1646055608675225,"trace_id":"c06718ca7d4b7dcf0fd76c992896ba57","type":"external","action":"response","outcome":"success","parent_id":"9fe1daa7fda33f70","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c06718ca7d4b7dcf"}} +{"span":{"duration":134.000042,"id":"9fe1daa7fda33f70","name":"GET opbeans-go:3000","timestamp":1646055608541264,"trace_id":"c06718ca7d4b7dcf0fd76c992896ba57","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/3","status_code":200}},"outcome":"success","parent_id":"c06718ca7d4b7dcf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c06718ca7d4b7dcf"}} +{"transaction":{"duration":134.19549999999998,"id":"c06718ca7d4b7dcf","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055608541138,"trace_id":"c06718ca7d4b7dcf0fd76c992896ba57","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"231","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:08 GMT","Etag":"W/\"e7-kkuzj37GZDzXDh0CWqh5Gan0VO4\"","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.557292,"id":"2cd537704a6d919a","name":"SELECT FROM product_types","timestamp":1646055608693452,"trace_id":"8d8a723b6498fe6397a5b8c35248f877","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8d8a723b6498fe63","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8d8a723b6498fe63"}} +{"transaction":{"duration":4.000834,"id":"8d8a723b6498fe63","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055608693424,"trace_id":"8d8a723b6498fe6397a5b8c35248f877","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.26241699999999996,"id":"d73d63fc48ac1e2c","name":"DNS opbeans-ruby","timestamp":1646055608720552,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"external","action":"dns","outcome":"success","parent_id":"0b4bb65127a5c68c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"524e807709eb6a8d"}} +{"span":{"duration":0.120833,"id":"c786dfd0fb023628","name":"Connect 172.23.0.12:3000","timestamp":1646055608720822,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"external","action":"connect","outcome":"success","parent_id":"0b4bb65127a5c68c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"524e807709eb6a8d"}} +{"span":{"duration":1246.98875,"id":"69a3fe9aa846bdaa","name":"Request","timestamp":1646055608422991,"trace_id":"d14d58267cb344fa7a55ab5075b14e77","type":"external","action":"request","outcome":"success","parent_id":"95a5aac6f6244ab3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e22f9a97006004c6"}} +{"span":{"duration":0.10208300000000001,"id":"2791301b0093a4a8","name":"Response","timestamp":1646055609670016,"trace_id":"d14d58267cb344fa7a55ab5075b14e77","type":"external","action":"response","outcome":"success","parent_id":"95a5aac6f6244ab3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e22f9a97006004c6"}} +{"span":{"duration":1248.042293,"id":"95a5aac6f6244ab3","name":"GET opbeans-ruby:3000","timestamp":1646055608422077,"trace_id":"d14d58267cb344fa7a55ab5075b14e77","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"e22f9a97006004c6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e22f9a97006004c6"}} +{"transaction":{"duration":1248.589792,"id":"e22f9a97006004c6","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055608421787,"trace_id":"d14d58267cb344fa7a55ab5075b14e77","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Traceparent":"00-d14d58267cb344fa7a55ab5075b14e77-02121e0cd84fcbc7-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-d14d58267cb344fa7a55ab5075b14e77-02121e0cd84fcbc7-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"02121e0cd84fcbc7","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":8229.667254,"id":"242438dfdade4616","name":"Request","timestamp":1646055601576343,"trace_id":"b0a980f5a67493d0637acf274faa01aa","type":"external","action":"request","outcome":"success","parent_id":"537bd44c66d2d59e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b0a980f5a67493d0"}} +{"span":{"duration":1.464083,"id":"4e12f8011a53460f","name":"Response","timestamp":1646055609806041,"trace_id":"b0a980f5a67493d0637acf274faa01aa","type":"external","action":"response","outcome":"success","parent_id":"537bd44c66d2d59e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b0a980f5a67493d0"}} +{"span":{"duration":8231.649296,"id":"537bd44c66d2d59e","name":"GET opbeans-python:3000","timestamp":1646055601575857,"trace_id":"b0a980f5a67493d0637acf274faa01aa","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"b0a980f5a67493d0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b0a980f5a67493d0"}} +{"transaction":{"duration":8239.923463000001,"id":"b0a980f5a67493d0","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055601575727,"trace_id":"b0a980f5a67493d0637acf274faa01aa","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Date":"Mon, 28 Feb 2022 13:40:09 GMT","Content-Type":"application/json","Content-Length":"108580","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":93.78379100000001,"id":"16a97ed3e8bb22f0","name":"Request","timestamp":1646055609741491,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"external","action":"request","outcome":"success","parent_id":"460068e95b30457f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cd87ecdf5d767f46"}} +{"span":{"duration":0.8068339999999999,"id":"4abcf61ff2fec3a6","name":"Response","timestamp":1646055609835363,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"external","action":"response","outcome":"success","parent_id":"460068e95b30457f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cd87ecdf5d767f46"}} +{"span":{"duration":94.76887500000001,"id":"460068e95b30457f","name":"GET opbeans-ruby:3000","timestamp":1646055609741402,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"cd87ecdf5d767f46","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cd87ecdf5d767f46"}} +{"transaction":{"duration":95.85170799999999,"id":"cd87ecdf5d767f46","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055609741003,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-69a17b74123331d2ae40009b35bc557e-c7dd5b4cc86bc18b-01","Elastic-Apm-Traceparent":"00-69a17b74123331d2ae40009b35bc557e-c7dd5b4cc86bc18b-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c7dd5b4cc86bc18b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1177.255584,"id":"9baf2e58b182fea9","name":"Request","timestamp":1646055608720958,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"external","action":"request","outcome":"success","parent_id":"0b4bb65127a5c68c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"524e807709eb6a8d"}} +{"span":{"duration":1178.3543750000001,"id":"b9fb3c1e438b1377","name":"Request","timestamp":1646055608720295,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"external","action":"request","outcome":"success","parent_id":"d066e370d1d8f3d2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f9e49e732c92fded"}} +{"span":{"duration":1178.775709,"id":"7acd6559f62d320b","name":"Request","timestamp":1646055608719975,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"external","action":"request","outcome":"success","parent_id":"8dd89380de6b12c0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"69a17b74123331d2"}} +{"span":{"duration":0.429833,"id":"d7b2e648723ecd01","name":"Response","timestamp":1646055609898437,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"external","action":"response","outcome":"success","parent_id":"0b4bb65127a5c68c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"524e807709eb6a8d"}} +{"span":{"duration":1178.3882919999999,"id":"0b4bb65127a5c68c","name":"GET opbeans-ruby:3000","timestamp":1646055608720479,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"524e807709eb6a8d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"524e807709eb6a8d"}} +{"transaction":{"duration":1178.769417,"id":"524e807709eb6a8d","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055608720449,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-69a17b74123331d2ae40009b35bc557e-d066e370d1d8f3d2-01","Traceparent":"00-69a17b74123331d2ae40009b35bc557e-d066e370d1d8f3d2-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14, 172.23.0.9","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d066e370d1d8f3d2","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5965,"id":"c26b624c30fe9cde","name":"Response","timestamp":1646055609898656,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"external","action":"response","outcome":"success","parent_id":"d066e370d1d8f3d2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f9e49e732c92fded"}} +{"span":{"duration":1178.969001,"id":"d066e370d1d8f3d2","name":"GET opbeans-go:3000","timestamp":1646055608720284,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"f9e49e732c92fded","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f9e49e732c92fded"}} +{"transaction":{"duration":1179.293792,"id":"f9e49e732c92fded","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055608720080,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-69a17b74123331d2ae40009b35bc557e-8dd89380de6b12c0-01","Traceparent":"00-69a17b74123331d2ae40009b35bc557e-8dd89380de6b12c0-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:09 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"8dd89380de6b12c0","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6677500000000001,"id":"eeab693d945d19f3","name":"Response","timestamp":1646055609898757,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"external","action":"response","outcome":"success","parent_id":"8dd89380de6b12c0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"69a17b74123331d2"}} +{"span":{"duration":1179.475334,"id":"8dd89380de6b12c0","name":"GET opbeans-go:3000","timestamp":1646055608719951,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"69a17b74123331d2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"69a17b74123331d2"}} +{"transaction":{"duration":1179.8265,"id":"69a17b74123331d2","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055608719686,"trace_id":"69a17b74123331d2ae40009b35bc557e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:09 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.713583,"id":"d310ebfe1f7b8f8e","name":"SELECT FROM orders","timestamp":1646055609919259,"trace_id":"a50f6168b4863d4be5184f7b5bf30db7","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a50f6168b4863d4b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a50f6168b4863d4b"}} +{"transaction":{"duration":5.277833,"id":"a50f6168b4863d4b","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055609919231,"trace_id":"a50f6168b4863d4be5184f7b5bf30db7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.7823749999999999,"id":"b8eacd65585bec56","name":"SELECT FROM customers","timestamp":1646055609946684,"trace_id":"87f283c0ec5a52194f77526f9eb53c84","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"87f283c0ec5a5219","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"87f283c0ec5a5219"}} +{"transaction":{"duration":4.599416000000001,"id":"87f283c0ec5a5219","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055609946667,"trace_id":"87f283c0ec5a52194f77526f9eb53c84","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.087209,"id":"24abba1fed4cf411","name":"SELECT FROM customers","timestamp":1646055609968163,"trace_id":"9d0bb38430188c32833d46311286d6b3","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9d0bb38430188c32","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9d0bb38430188c32"}} +{"transaction":{"duration":2.69475,"id":"9d0bb38430188c32","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055609968142,"trace_id":"9d0bb38430188c32833d46311286d6b3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.344375,"id":"f665bd9ca77435cf","name":"SELECT FROM product_types","timestamp":1646055609989598,"trace_id":"9c85f39f44e283d163844c3ff5f98345","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9068a1145f0a7dd4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9068a1145f0a7dd4"}} +{"transaction":{"duration":0.468959,"id":"9068a1145f0a7dd4","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055609989589,"trace_id":"9c85f39f44e283d163844c3ff5f98345","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Traceparent":"00-9c85f39f44e283d163844c3ff5f98345-c3878fc909ab4e2e-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-9c85f39f44e283d163844c3ff5f98345-c3878fc909ab4e2e-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c3878fc909ab4e2e","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.634958,"id":"e6079abc09d9351b","name":"Request","timestamp":1646055609989478,"trace_id":"9c85f39f44e283d163844c3ff5f98345","type":"external","action":"request","outcome":"success","parent_id":"c3878fc909ab4e2e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9c85f39f44e283d1"}} +{"span":{"duration":0.018625,"id":"01b3c42f19628645","name":"Response","timestamp":1646055609990114,"trace_id":"9c85f39f44e283d163844c3ff5f98345","type":"external","action":"response","outcome":"success","parent_id":"c3878fc909ab4e2e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9c85f39f44e283d1"}} +{"span":{"duration":0.673917,"id":"c3878fc909ab4e2e","name":"GET opbeans-go:3000","timestamp":1646055609989460,"trace_id":"9c85f39f44e283d163844c3ff5f98345","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types","status_code":200}},"outcome":"success","parent_id":"9c85f39f44e283d1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9c85f39f44e283d1"}} +{"transaction":{"duration":0.886458,"id":"9c85f39f44e283d1","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055609989323,"trace_id":"9c85f39f44e283d163844c3ff5f98345","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:09 GMT","Content-Length":"112"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.423208,"id":"e997938e5538b69b","name":"SELECT FROM customers","timestamp":1646055610100001,"trace_id":"32a94eef3f9483702a50a2799efdc200","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1743973acedaab48","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1743973acedaab48"}} +{"transaction":{"duration":2.9081659999999996,"id":"1743973acedaab48","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055610099970,"trace_id":"32a94eef3f9483702a50a2799efdc200","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3/customers"},"headers":{"Connection":"close","Traceparent":"00-32a94eef3f9483702a50a2799efdc200-a14245b063ded717-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-32a94eef3f9483702a50a2799efdc200-a14245b063ded717-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a14245b063ded717","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":151.435167,"id":"47155ede836d928b","name":"Request","timestamp":1646055610011330,"trace_id":"910687aa13654b2136dfc69006e90d0b","type":"external","action":"request","outcome":"success","parent_id":"040d9be4a391d103","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"910687aa13654b21"}} +{"span":{"duration":0.07925,"id":"4672bbabbe35e809","name":"Response","timestamp":1646055610162788,"trace_id":"910687aa13654b2136dfc69006e90d0b","type":"external","action":"response","outcome":"success","parent_id":"040d9be4a391d103","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"910687aa13654b21"}} +{"span":{"duration":151.571584,"id":"040d9be4a391d103","name":"GET opbeans-node:3000","timestamp":1646055610011297,"trace_id":"910687aa13654b2136dfc69006e90d0b","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"910687aa13654b21","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"910687aa13654b21"}} +{"transaction":{"duration":151.859375,"id":"910687aa13654b21","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055610011166,"trace_id":"910687aa13654b2136dfc69006e90d0b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"108","Etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","Date":"Mon, 28 Feb 2022 13:40:10 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":171.661833,"id":"8b12ed836c082588","name":"Request","timestamp":1646055610182489,"trace_id":"daf3e3ef409f852a55f37dbded92cd21","type":"external","action":"request","outcome":"success","parent_id":"6a4a87b03ca30ba0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"daf3e3ef409f852a"}} +{"span":{"duration":0.20049999999999998,"id":"ca103aa3a564162a","name":"Response","timestamp":1646055610354187,"trace_id":"daf3e3ef409f852a55f37dbded92cd21","type":"external","action":"response","outcome":"success","parent_id":"6a4a87b03ca30ba0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"daf3e3ef409f852a"}} +{"span":{"duration":171.918709,"id":"6a4a87b03ca30ba0","name":"GET opbeans-ruby:3000","timestamp":1646055610182469,"trace_id":"daf3e3ef409f852a55f37dbded92cd21","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/622","status_code":200}},"outcome":"success","parent_id":"daf3e3ef409f852a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"daf3e3ef409f852a"}} +{"transaction":{"duration":173.2015,"id":"daf3e3ef409f852a","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055610182289,"trace_id":"daf3e3ef409f852a55f37dbded92cd21","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/622","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/622"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.408625,"id":"1e2d0e12347833d3","name":"SELECT FROM products","timestamp":1646055610377845,"trace_id":"b77ef2c59688bed261d9303db24bc0b2","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b77ef2c59688bed2","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b77ef2c59688bed2"}} +{"transaction":{"duration":1.524666,"id":"b77ef2c59688bed2","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055610377830,"trace_id":"b77ef2c59688bed261d9303db24bc0b2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.33545800000000003,"id":"e95ba2b846d4d0ca","name":"DNS opbeans-python","timestamp":1646055610398033,"trace_id":"a894676b1d4bfa5777282658242afbf8","type":"external","action":"dns","outcome":"success","parent_id":"cd5e0ed30eecee6c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a894676b1d4bfa57"}} +{"span":{"duration":0.09050000000000001,"id":"15c85b571e1fa38b","name":"Connect 172.23.0.11:3000","timestamp":1646055610398373,"trace_id":"a894676b1d4bfa5777282658242afbf8","type":"external","action":"connect","outcome":"success","parent_id":"cd5e0ed30eecee6c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a894676b1d4bfa57"}} +{"span":{"duration":65.051541,"id":"7e273ec5915d1fef","name":"Request","timestamp":1646055610398472,"trace_id":"a894676b1d4bfa5777282658242afbf8","type":"external","action":"request","outcome":"success","parent_id":"cd5e0ed30eecee6c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a894676b1d4bfa57"}} +{"span":{"duration":2.989459,"id":"17a5ae2e47a2b2eb","name":"Response","timestamp":1646055610463667,"trace_id":"a894676b1d4bfa5777282658242afbf8","type":"external","action":"response","outcome":"success","parent_id":"cd5e0ed30eecee6c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a894676b1d4bfa57"}} +{"span":{"duration":68.670125,"id":"cd5e0ed30eecee6c","name":"GET opbeans-python:3000","timestamp":1646055610397990,"trace_id":"a894676b1d4bfa5777282658242afbf8","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"a894676b1d4bfa57","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a894676b1d4bfa57"}} +{"transaction":{"duration":68.912458,"id":"a894676b1d4bfa57","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055610397824,"trace_id":"a894676b1d4bfa5777282658242afbf8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"same-origin","X-Frame-Options":"DENY","Date":"Mon, 28 Feb 2022 13:40:10 GMT","Content-Type":"application/json","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Content-Length":"203686"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.043542,"id":"9e6993ddaf6badf9","name":"SELECT FROM product_types","timestamp":1646055610486000,"trace_id":"65471bb3450976b54443deb1fef085bb","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"65471bb3450976b5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"65471bb3450976b5"}} +{"transaction":{"duration":1.281458,"id":"65471bb3450976b5","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055610485983,"trace_id":"65471bb3450976b54443deb1fef085bb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":1.0954579999999998,"id":"ab93b2436de522e9","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055610509681,"trace_id":"ab93b2436de522e9b74601f072b4a0a9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.33587500000000003,"id":"e413c3692027e1c5","name":"SELECT FROM customers","timestamp":1646055610638909,"trace_id":"e25ccbfaac70c9158f7ee699b657fafb","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d06898ada29aea2e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d06898ada29aea2e"}} +{"transaction":{"duration":3.9442909999999998,"id":"d06898ada29aea2e","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055610638882,"trace_id":"e25ccbfaac70c9158f7ee699b657fafb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Traceparent":"00-e25ccbfaac70c9158f7ee699b657fafb-02013adbbe753b49-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-e25ccbfaac70c9158f7ee699b657fafb-02013adbbe753b49-01","Connection":"close","User-Agent":"http.rb/5.0.4"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"02013adbbe753b49","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.139917,"id":"ef4f5e1a347965bf","name":"SELECT FROM products","timestamp":1646055610649148,"trace_id":"2a1bc5e13b9790e679b33a6def3de1d3","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"be2c19699333889c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"be2c19699333889c"}} +{"transaction":{"duration":3.3293749999999998,"id":"be2c19699333889c","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055610649108,"trace_id":"2a1bc5e13b9790e679b33a6def3de1d3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-2a1bc5e13b9790e679b33a6def3de1d3-7a4ca3d20444c249-01","Elastic-Apm-Traceparent":"00-2a1bc5e13b9790e679b33a6def3de1d3-7a4ca3d20444c249-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"7a4ca3d20444c249","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.322167,"id":"59d934d875f82042","name":"DNS opbeans-node","timestamp":1646055610692811,"trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","type":"external","action":"dns","outcome":"success","parent_id":"ac9c009027ce1c7d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fb6ac9aa996cd077"}} +{"span":{"duration":0.07470900000000001,"id":"63d69bd79eab9942","name":"Connect 172.23.0.10:3000","timestamp":1646055610693138,"trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","type":"external","action":"connect","outcome":"success","parent_id":"ac9c009027ce1c7d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fb6ac9aa996cd077"}} +{"span":{"duration":18.748834,"id":"332b40b5fc6f5b0c","name":"Request","timestamp":1646055610693222,"trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","type":"external","action":"request","outcome":"success","parent_id":"ac9c009027ce1c7d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fb6ac9aa996cd077"}} +{"span":{"duration":0.061333000000000006,"id":"0254e6803b818b30","name":"Response","timestamp":1646055610711998,"trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","type":"external","action":"response","outcome":"success","parent_id":"ac9c009027ce1c7d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fb6ac9aa996cd077"}} +{"span":{"duration":19.286625,"id":"ac9c009027ce1c7d","name":"GET opbeans-node:3000","timestamp":1646055610692773,"trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products","status_code":200}},"outcome":"success","parent_id":"fb6ac9aa996cd077","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fb6ac9aa996cd077"}} +{"transaction":{"duration":19.484125000000002,"id":"fb6ac9aa996cd077","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055610692710,"trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Traceparent":"00-2eff1445fb3b56e606f21ae8ed4b11e1-a67b0d0af95e813c-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-2eff1445fb3b56e606f21ae8ed4b11e1-a67b0d0af95e813c-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"1023","Etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","Date":"Mon, 28 Feb 2022 13:40:10 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a67b0d0af95e813c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":272.66783300000003,"id":"9cc67fe5a02379ba","name":"Request","timestamp":1646055610534112,"trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","type":"external","action":"request","outcome":"success","parent_id":"e4f3f2553062f9b0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2eff1445fb3b56e6"}} +{"span":{"duration":0.21425,"id":"856d1ef4a165bf39","name":"Response","timestamp":1646055610806809,"trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","type":"external","action":"response","outcome":"success","parent_id":"e4f3f2553062f9b0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2eff1445fb3b56e6"}} +{"span":{"duration":272.932333,"id":"e4f3f2553062f9b0","name":"GET opbeans-node:3000","timestamp":1646055610534092,"trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products","status_code":200}},"outcome":"success","parent_id":"2eff1445fb3b56e6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2eff1445fb3b56e6"}} +{"transaction":{"duration":273.434958,"id":"2eff1445fb3b56e6","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055610533973,"trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:10 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.8940410000000001,"id":"52d92a73f6e177ee","name":"SELECT FROM orders","timestamp":1646055610830312,"trace_id":"71d331a4c2812d6d8e3bf465e25aa9bb","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"71d331a4c2812d6d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"71d331a4c2812d6d"}} +{"transaction":{"duration":3.671083,"id":"71d331a4c2812d6d","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055610830291,"trace_id":"71d331a4c2812d6d8e3bf465e25aa9bb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.89925,"id":"cf188dac68842bb7","name":"DNS opbeans-python","timestamp":1646055610861408,"trace_id":"1d2637b99c89cd998620a3bea37e4fa3","type":"external","action":"dns","outcome":"success","parent_id":"f4a3c0e49cd9abec","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1d2637b99c89cd99"}} +{"span":{"duration":0.37895799999999996,"id":"761b2aafa523bb70","name":"Connect 172.23.0.11:3000","timestamp":1646055610862314,"trace_id":"1d2637b99c89cd998620a3bea37e4fa3","type":"external","action":"connect","outcome":"success","parent_id":"f4a3c0e49cd9abec","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1d2637b99c89cd99"}} +{"transaction":{"duration":3.809167,"id":"8407f7ca0bd79c94","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055610908240,"trace_id":"1d2637b99c89cd998620a3bea37e4fa3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-1d2637b99c89cd998620a3bea37e4fa3-f1a225d750f0bb6f-01","Elastic-Apm-Traceparent":"00-1d2637b99c89cd998620a3bea37e4fa3-f1a225d750f0bb6f-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"f1a225d750f0bb6f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":79.741833,"id":"2a46e261c1cb2e61","name":"Request","timestamp":1646055610862717,"trace_id":"1d2637b99c89cd998620a3bea37e4fa3","type":"external","action":"request","outcome":"success","parent_id":"f4a3c0e49cd9abec","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1d2637b99c89cd99"}} +{"span":{"duration":2.509833,"id":"c6b870025c245089","name":"Response","timestamp":1646055610942495,"trace_id":"1d2637b99c89cd998620a3bea37e4fa3","type":"external","action":"response","outcome":"success","parent_id":"f4a3c0e49cd9abec","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1d2637b99c89cd99"}} +{"span":{"duration":83.649709,"id":"f4a3c0e49cd9abec","name":"GET opbeans-python:3000","timestamp":1646055610861359,"trace_id":"1d2637b99c89cd998620a3bea37e4fa3","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"1d2637b99c89cd99","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1d2637b99c89cd99"}} +{"transaction":{"duration":84.162751,"id":"1d2637b99c89cd99","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055610861122,"trace_id":"1d2637b99c89cd998620a3bea37e4fa3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:40:10 GMT","Content-Type":"application/json; charset=utf-8","Content-Length":"110","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.407417,"id":"5b1cf57d55d02d58","name":"SELECT FROM products","timestamp":1646055610966060,"trace_id":"0b1010fa9ba9f4452f9bbe3a215198e3","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0b1010fa9ba9f445","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0b1010fa9ba9f445"}} +{"transaction":{"duration":0.683625,"id":"0b1010fa9ba9f445","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055610966037,"trace_id":"0b1010fa9ba9f4452f9bbe3a215198e3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.284042,"id":"33a3c82052be30ab","name":"SELECT FROM orders","timestamp":1646055610992030,"trace_id":"fa7982e6000e7d18bb6f644a149481c6","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7497a7e663e6d882","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7497a7e663e6d882"}} +{"span":{"duration":1.4961250000000001,"id":"5dd288c3be10fce7","name":"SELECT FROM products","timestamp":1646055610993367,"trace_id":"fa7982e6000e7d18bb6f644a149481c6","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7497a7e663e6d882","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7497a7e663e6d882"}} +{"transaction":{"duration":2.994125,"id":"7497a7e663e6d882","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055610991994,"trace_id":"fa7982e6000e7d18bb6f644a149481c6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/352","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/352"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-fa7982e6000e7d18bb6f644a149481c6-acc545a6feb6264d-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-fa7982e6000e7d18bb6f644a149481c6-acc545a6feb6264d-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"acc545a6feb6264d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.46087500000000003,"id":"45d56b4fdba8262b","name":"SELECT FROM products","timestamp":1646055611004316,"trace_id":"40b13415a76d49980a13a4a53932714d","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"40b13415a76d4998","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"40b13415a76d4998"}} +{"transaction":{"duration":0.7240000000000001,"id":"40b13415a76d4998","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055611004299,"trace_id":"40b13415a76d49980a13a4a53932714d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.527084,"id":"e2bfb4cd7cc5bc78","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055611105060,"trace_id":"6951351afd20e23b92194ce6723263cb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-6951351afd20e23b92194ce6723263cb-588d5f39b9999fad-01","Connection":"close","Traceparent":"00-6951351afd20e23b92194ce6723263cb-588d5f39b9999fad-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"588d5f39b9999fad","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":115.919625,"id":"976047bb5024425b","name":"Request","timestamp":1646055611029497,"trace_id":"f43e85217134cf6be22e94299a075cbb","type":"external","action":"request","outcome":"success","parent_id":"e668d3d564ad0e01","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f43e85217134cf6b"}} +{"span":{"duration":0.415208,"id":"9b4a81b80e22f797","name":"Response","timestamp":1646055611145464,"trace_id":"f43e85217134cf6be22e94299a075cbb","type":"external","action":"response","outcome":"success","parent_id":"e668d3d564ad0e01","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f43e85217134cf6b"}} +{"span":{"duration":116.407041,"id":"e668d3d564ad0e01","name":"GET opbeans-ruby:3000","timestamp":1646055611029474,"trace_id":"f43e85217134cf6be22e94299a075cbb","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/308","status_code":404}},"outcome":"failure","parent_id":"f43e85217134cf6b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f43e85217134cf6b"}} +{"transaction":{"duration":116.964208,"id":"f43e85217134cf6b","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055611029155,"trace_id":"f43e85217134cf6be22e94299a075cbb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/308","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/308"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=UTF-8","X-Request-Id":"30b53606-fff4-4168-8cc2-5f65dffe9591","X-Runtime":"0.062985","Content-Length":"1722"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.529209,"id":"c6b2d15dbaa78bbd","name":"SELECT FROM products","timestamp":1646055611171514,"trace_id":"539228e01be710e37f14e8ed607e709c","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"539228e01be710e3","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"539228e01be710e3"}} +{"transaction":{"duration":0.737,"id":"539228e01be710e3","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055611171473,"trace_id":"539228e01be710e37f14e8ed607e709c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.671417,"id":"bcfbc3fa8e09f243","name":"DNS opbeans-python","timestamp":1646055611201845,"trace_id":"7552e227b70f675c3d7344c1d3fa523e","type":"external","action":"dns","outcome":"success","parent_id":"8fade42ef72d16e8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7552e227b70f675c"}} +{"span":{"duration":0.354625,"id":"09931c31cc9baaa7","name":"Connect 172.23.0.11:3000","timestamp":1646055611202524,"trace_id":"7552e227b70f675c3d7344c1d3fa523e","type":"external","action":"connect","outcome":"success","parent_id":"8fade42ef72d16e8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7552e227b70f675c"}} +{"span":{"duration":30.955,"id":"ff46f83690ac7e9b","name":"Request","timestamp":1646055611202889,"trace_id":"7552e227b70f675c3d7344c1d3fa523e","type":"external","action":"request","outcome":"success","parent_id":"8fade42ef72d16e8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7552e227b70f675c"}} +{"span":{"duration":0.39525,"id":"d4f5f41ca6686fdf","name":"Response","timestamp":1646055611233896,"trace_id":"7552e227b70f675c3d7344c1d3fa523e","type":"external","action":"response","outcome":"success","parent_id":"8fade42ef72d16e8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7552e227b70f675c"}} +{"span":{"duration":32.521,"id":"8fade42ef72d16e8","name":"GET opbeans-python:3000","timestamp":1646055611201772,"trace_id":"7552e227b70f675c3d7344c1d3fa523e","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"7552e227b70f675c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7552e227b70f675c"}} +{"transaction":{"duration":33.103833,"id":"7552e227b70f675c","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055611201673,"trace_id":"7552e227b70f675c3d7344c1d3fa523e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","Content-Length":"128","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:40:11 GMT","Server":"gunicorn","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.558042,"id":"d7850f0cff9668e9","name":"SELECT FROM orders","timestamp":1646055611248723,"trace_id":"603922073216bfc9ff9f941e6ab53d56","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9fce13b9cf0f10f6","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9fce13b9cf0f10f6"}} +{"transaction":{"duration":2.634791,"id":"9fce13b9cf0f10f6","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055611248704,"trace_id":"603922073216bfc9ff9f941e6ab53d56","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-603922073216bfc9ff9f941e6ab53d56-458a154f5acb5754-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-603922073216bfc9ff9f941e6ab53d56-458a154f5acb5754-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"458a154f5acb5754","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5021249999999999,"id":"083e8eb143cbc1dc","name":"SELECT FROM product_types","timestamp":1646055611260898,"trace_id":"0af7aac5f6caeb16d7e6bdd3c06b6017","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0af7aac5f6caeb16","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0af7aac5f6caeb16"}} +{"transaction":{"duration":0.815334,"id":"0af7aac5f6caeb16","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055611260861,"trace_id":"0af7aac5f6caeb16d7e6bdd3c06b6017","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.437667,"id":"aba34d7aefcdc4c0","name":"DNS opbeans-python","timestamp":1646055611281709,"trace_id":"d4bbb8445e6992ba3abd8e0a8aed2272","type":"external","action":"dns","outcome":"success","parent_id":"4116d0532f145d06","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d4bbb8445e6992ba"}} +{"span":{"duration":0.150791,"id":"72e1781c8786042c","name":"Connect 172.23.0.11:3000","timestamp":1646055611282152,"trace_id":"d4bbb8445e6992ba3abd8e0a8aed2272","type":"external","action":"connect","outcome":"success","parent_id":"4116d0532f145d06","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d4bbb8445e6992ba"}} +{"span":{"duration":0.33725,"id":"0aa360085fc4707a","name":"SELECT FROM orders","timestamp":1646055611685195,"trace_id":"ed6c2c7c1346b94d540ac38f08f83764","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"336054e7737d0aa1","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"336054e7737d0aa1"}} +{"span":{"duration":0.64825,"id":"be5b06dbec7530da","name":"SELECT FROM products","timestamp":1646055611685561,"trace_id":"ed6c2c7c1346b94d540ac38f08f83764","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"336054e7737d0aa1","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"336054e7737d0aa1"}} +{"transaction":{"duration":1.122042,"id":"336054e7737d0aa1","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055611685178,"trace_id":"ed6c2c7c1346b94d540ac38f08f83764","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/680","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/680"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-ed6c2c7c1346b94d540ac38f08f83764-44e2529fd9e4914f-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-ed6c2c7c1346b94d540ac38f08f83764-44e2529fd9e4914f-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"44e2529fd9e4914f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.816875,"id":"e03f2ea9f4886936","name":"SELECT FROM orders","timestamp":1646055611934692,"trace_id":"6f83e52f936a7d5379eaad37eda1f917","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8f6770eee10dd528","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8f6770eee10dd528"}} +{"span":{"duration":0.74925,"id":"d981a9b7f2dd741a","name":"SELECT FROM products","timestamp":1646055611935554,"trace_id":"6f83e52f936a7d5379eaad37eda1f917","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8f6770eee10dd528","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8f6770eee10dd528"}} +{"transaction":{"duration":1.9672499999999997,"id":"8f6770eee10dd528","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055611934671,"trace_id":"6f83e52f936a7d5379eaad37eda1f917","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/859","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/859"},"headers":{"Traceparent":"00-6f83e52f936a7d5379eaad37eda1f917-d4cd57de1e091df3-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-6f83e52f936a7d5379eaad37eda1f917-d4cd57de1e091df3-01","Connection":"close","User-Agent":"http.rb/5.0.4"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d4cd57de1e091df3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.253334,"id":"83f61475858ba6e1","name":"SELECT FROM products","timestamp":1646055612034906,"trace_id":"2d44a12b55e7a812d4d8150a0f2c13ab","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ef35efebbd72fa28","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ef35efebbd72fa28"}} +{"transaction":{"duration":2.0385,"id":"ef35efebbd72fa28","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055612034874,"trace_id":"2d44a12b55e7a812d4d8150a0f2c13ab","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-2d44a12b55e7a812d4d8150a0f2c13ab-2d1cc2bece56a15a-01","Elastic-Apm-Traceparent":"00-2d44a12b55e7a812d4d8150a0f2c13ab-2d1cc2bece56a15a-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"2d1cc2bece56a15a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.539875,"id":"ee6172852246d520","name":"SELECT FROM customers","timestamp":1646055612296100,"trace_id":"036408f0cbf3486889a93c5f70b3af0e","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"62cb431ec6482866","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"62cb431ec6482866"}} +{"transaction":{"duration":0.777625,"id":"62cb431ec6482866","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055612296062,"trace_id":"036408f0cbf3486889a93c5f70b3af0e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/18","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/18"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-036408f0cbf3486889a93c5f70b3af0e-bd938c9ada74c2e7-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-036408f0cbf3486889a93c5f70b3af0e-bd938c9ada74c2e7-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"bd938c9ada74c2e7","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.211459,"id":"adb0b3898865b297","name":"SELECT FROM products","timestamp":1646055612425674,"trace_id":"810ec3295b5611a4b999c05db028f3fc","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f18fb19ce2920ec8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f18fb19ce2920ec8"}} +{"transaction":{"duration":1.350208,"id":"f18fb19ce2920ec8","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055612425644,"trace_id":"810ec3295b5611a4b999c05db028f3fc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-810ec3295b5611a4b999c05db028f3fc-a55e5fddf86ff991-01","Elastic-Apm-Traceparent":"00-810ec3295b5611a4b999c05db028f3fc-a55e5fddf86ff991-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a55e5fddf86ff991","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":281.4755,"id":"3cc9227f9d4f5186","name":"Request","timestamp":1646055614562529,"trace_id":"8a85196351ce039e024281717bda58fc","type":"external","action":"request","outcome":"success","parent_id":"8e596f99a1ac33bf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8a85196351ce039e"}} +{"span":{"duration":5.698208,"id":"164f326b237a244c","name":"Response","timestamp":1646055614844110,"trace_id":"8a85196351ce039e024281717bda58fc","type":"external","action":"response","outcome":"success","parent_id":"8e596f99a1ac33bf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8a85196351ce039e"}} +{"span":{"duration":287.60929200000004,"id":"8e596f99a1ac33bf","name":"GET opbeans-ruby:3000","timestamp":1646055614562309,"trace_id":"8a85196351ce039e024281717bda58fc","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"8a85196351ce039e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8a85196351ce039e"}} +{"transaction":{"duration":288.974167,"id":"8a85196351ce039e","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055614561921,"trace_id":"8a85196351ce039e024281717bda58fc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"Accept-Encoding":"gzip","User-Agent":"Go-http-client/1.1"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.3803330000000003,"id":"f0abf4876cae9b2d","name":"SELECT FROM customers","timestamp":1646055615156353,"trace_id":"a1c2a5338942d3429cceed016107a414","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5c3e6a10a4f926e4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5c3e6a10a4f926e4"}} +{"transaction":{"duration":15.774750000000001,"id":"5c3e6a10a4f926e4","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055615155886,"trace_id":"a1c2a5338942d3429cceed016107a414","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Connection":"keep-alive","Traceparent":"00-a1c2a5338942d3429cceed016107a414-b69f0f9cc2393a4a-01","Elastic-Apm-Traceparent":"00-a1c2a5338942d3429cceed016107a414-b69f0f9cc2393a4a-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b69f0f9cc2393a4a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.298875,"id":"0d6905d5371bf140","name":"SELECT FROM customers","timestamp":1646055618092026,"trace_id":"1646545e65700f3274e847226ed2dc4d","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b81739eade4f6589","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b81739eade4f6589"}} +{"transaction":{"duration":5.438791999999999,"id":"b81739eade4f6589","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055618091844,"trace_id":"1646545e65700f3274e847226ed2dc4d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Connection":"close","Traceparent":"00-1646545e65700f3274e847226ed2dc4d-1353d5ae23bc29d3-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-1646545e65700f3274e847226ed2dc4d-1353d5ae23bc29d3-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"1353d5ae23bc29d3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":9161.383711999999,"id":"6120854e4e4552ee","name":"Request","timestamp":1646055611282332,"trace_id":"d4bbb8445e6992ba3abd8e0a8aed2272","type":"external","action":"request","outcome":"success","parent_id":"4116d0532f145d06","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d4bbb8445e6992ba"}} +{"span":{"duration":0.73425,"id":"97cc0a16c97df0cd","name":"Response","timestamp":1646055620443902,"trace_id":"d4bbb8445e6992ba3abd8e0a8aed2272","type":"external","action":"response","outcome":"success","parent_id":"4116d0532f145d06","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d4bbb8445e6992ba"}} +{"span":{"duration":9163.005962,"id":"4116d0532f145d06","name":"GET opbeans-python:3000","timestamp":1646055611281632,"trace_id":"d4bbb8445e6992ba3abd8e0a8aed2272","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"d4bbb8445e6992ba","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d4bbb8445e6992ba"}} +{"transaction":{"duration":9168.595879,"id":"d4bbb8445e6992ba","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055611281196,"trace_id":"d4bbb8445e6992ba3abd8e0a8aed2272","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Content-Type":"application/json","X-Frame-Options":"DENY","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:20 GMT","Content-Length":"108580","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.804625,"id":"d87343e6fe32e84d","name":"DNS opbeans-python","timestamp":1646055620471111,"trace_id":"6c41145d32462053a959efd695760359","type":"external","action":"dns","outcome":"success","parent_id":"a541588ca25a40dc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6c41145d32462053"}} +{"span":{"duration":0.15454199999999998,"id":"eb071e8516b5b33b","name":"Connect 172.23.0.11:3000","timestamp":1646055620471944,"trace_id":"6c41145d32462053a959efd695760359","type":"external","action":"connect","outcome":"success","parent_id":"a541588ca25a40dc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6c41145d32462053"}} +{"span":{"duration":103.95908399999999,"id":"99f3784b46ef5372","name":"Request","timestamp":1646055620472132,"trace_id":"6c41145d32462053a959efd695760359","type":"external","action":"request","outcome":"success","parent_id":"a541588ca25a40dc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6c41145d32462053"}} +{"span":{"duration":1.861333,"id":"bf4844973ce6b1d9","name":"Response","timestamp":1646055620576128,"trace_id":"6c41145d32462053a959efd695760359","type":"external","action":"response","outcome":"success","parent_id":"a541588ca25a40dc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6c41145d32462053"}} +{"span":{"duration":107.447875,"id":"a541588ca25a40dc","name":"GET opbeans-python:3000","timestamp":1646055620470544,"trace_id":"6c41145d32462053a959efd695760359","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types/1","status_code":200}},"outcome":"success","parent_id":"6c41145d32462053","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6c41145d32462053"}} +{"transaction":{"duration":107.806042,"id":"6c41145d32462053","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055620470449,"trace_id":"6c41145d32462053a959efd695760359","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:20 GMT","Content-Type":"application/json","X-Frame-Options":"DENY","Vary":"Cookie","Referrer-Policy":"same-origin","Server":"gunicorn","Content-Length":"233","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.354,"id":"e415cf53b88d8bf1","name":"DNS opbeans-python","timestamp":1646055620597178,"trace_id":"2b0424e928c348b0548624baaaff2c3f","type":"external","action":"dns","outcome":"success","parent_id":"967d85161da55abc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e58db9273181cd90"}} +{"span":{"duration":0.164792,"id":"4ff45ff96328113b","name":"Connect 172.23.0.11:3000","timestamp":1646055620597537,"trace_id":"2b0424e928c348b0548624baaaff2c3f","type":"external","action":"connect","outcome":"success","parent_id":"967d85161da55abc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e58db9273181cd90"}} +{"span":{"duration":87.23025,"id":"fb3ec01d07167464","name":"Request","timestamp":1646055620597761,"trace_id":"2b0424e928c348b0548624baaaff2c3f","type":"external","action":"request","outcome":"success","parent_id":"967d85161da55abc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e58db9273181cd90"}} +{"span":{"duration":0.244125,"id":"19443faaee326095","name":"Response","timestamp":1646055620685022,"trace_id":"2b0424e928c348b0548624baaaff2c3f","type":"external","action":"response","outcome":"success","parent_id":"967d85161da55abc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e58db9273181cd90"}} +{"span":{"duration":88.121833,"id":"967d85161da55abc","name":"GET opbeans-python:3000","timestamp":1646055620597145,"trace_id":"2b0424e928c348b0548624baaaff2c3f","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/6/customers","status_code":200}},"outcome":"success","parent_id":"e58db9273181cd90","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e58db9273181cd90"}} +{"transaction":{"duration":88.3535,"id":"e58db9273181cd90","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055620597072,"trace_id":"2b0424e928c348b0548624baaaff2c3f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-2b0424e928c348b0548624baaaff2c3f-797d80cbc4b42fa9-01","Traceparent":"00-2b0424e928c348b0548624baaaff2c3f-797d80cbc4b42fa9-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:20 GMT","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Vary":"Cookie","Content-Length":"2","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"797d80cbc4b42fa9","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":88.617375,"id":"48157a2b40c168ab","name":"Request","timestamp":1646055620596893,"trace_id":"2b0424e928c348b0548624baaaff2c3f","type":"external","action":"request","outcome":"success","parent_id":"797d80cbc4b42fa9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2b0424e928c348b0"}} +{"span":{"duration":0.15412499999999998,"id":"a35f1aa1f44dd091","name":"Response","timestamp":1646055620685525,"trace_id":"2b0424e928c348b0548624baaaff2c3f","type":"external","action":"response","outcome":"success","parent_id":"797d80cbc4b42fa9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2b0424e928c348b0"}} +{"span":{"duration":88.86675,"id":"797d80cbc4b42fa9","name":"GET opbeans-go:3000","timestamp":1646055620596813,"trace_id":"2b0424e928c348b0548624baaaff2c3f","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/6/customers","status_code":200}},"outcome":"success","parent_id":"2b0424e928c348b0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2b0424e928c348b0"}} +{"transaction":{"duration":89.256875,"id":"2b0424e928c348b0","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055620596481,"trace_id":"2b0424e928c348b0548624baaaff2c3f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"2","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:20 GMT","Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.381375,"id":"68620f1be54849ba","name":"SELECT FROM products","timestamp":1646055620704552,"trace_id":"9a58107bcdd11777f9703d2f66380b3c","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9a58107bcdd11777","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9a58107bcdd11777"}} +{"transaction":{"duration":2.824375,"id":"9a58107bcdd11777","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055620704488,"trace_id":"9a58107bcdd11777f9703d2f66380b3c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":68.25954100000001,"id":"339dd34ecadec49b","name":"Request","timestamp":1646055620725767,"trace_id":"76ecd0d4bfe4ad6639145424c02c52e5","type":"external","action":"request","outcome":"success","parent_id":"14565933183e8284","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"76ecd0d4bfe4ad66"}} +{"span":{"duration":0.27125,"id":"1c7268eca56bd50a","name":"Response","timestamp":1646055620794050,"trace_id":"76ecd0d4bfe4ad6639145424c02c52e5","type":"external","action":"response","outcome":"success","parent_id":"14565933183e8284","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"76ecd0d4bfe4ad66"}} +{"span":{"duration":68.596375,"id":"14565933183e8284","name":"GET opbeans-ruby:3000","timestamp":1646055620725726,"trace_id":"76ecd0d4bfe4ad6639145424c02c52e5","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"76ecd0d4bfe4ad66","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"76ecd0d4bfe4ad66"}} +{"transaction":{"duration":69.426458,"id":"76ecd0d4bfe4ad66","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055620725243,"trace_id":"76ecd0d4bfe4ad6639145424c02c52e5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"strict-origin-when-cross-origin","Vary":"Accept","X-Permitted-Cross-Domain-Policies":"none","X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","X-Frame-Options":"SAMEORIGIN","X-Request-Id":"e59cc60d-8d04-433c-bbbf-5dea37f0cc03","Content-Type":"application/json; charset=utf-8","X-Runtime":"0.056914","X-Xss-Protection":"1; mode=block","Etag":"W/\"6b84b8cfae4908f93f790804f2c9e7c9\"","Cache-Control":"max-age=0, private, must-revalidate"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.552917,"id":"ec633fde0aba8dd8","name":"DNS opbeans-node","timestamp":1646055620813436,"trace_id":"98390d0115fcd940e41a7aeb7851644e","type":"external","action":"dns","outcome":"success","parent_id":"e9fbccfb45817617","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"98390d0115fcd940"}} +{"span":{"duration":0.131042,"id":"fc37fd4157d16167","name":"Connect 172.23.0.10:3000","timestamp":1646055620813994,"trace_id":"98390d0115fcd940e41a7aeb7851644e","type":"external","action":"connect","outcome":"success","parent_id":"e9fbccfb45817617","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"98390d0115fcd940"}} +{"span":{"duration":1.843458,"id":"06e729d19a88191a","name":"SELECT FROM products","timestamp":1646055620840294,"trace_id":"98390d0115fcd940e41a7aeb7851644e","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"743ca8732e9b9763","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"743ca8732e9b9763"}} +{"transaction":{"duration":2.136584,"id":"743ca8732e9b9763","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055620840276,"trace_id":"98390d0115fcd940e41a7aeb7851644e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Connection":"close","Traceparent":"00-98390d0115fcd940e41a7aeb7851644e-3822cfb4cd27c00d-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-98390d0115fcd940e41a7aeb7851644e-3822cfb4cd27c00d-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"3822cfb4cd27c00d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":57.049875,"id":"96150e955ef0416f","name":"Request","timestamp":1646055620814143,"trace_id":"98390d0115fcd940e41a7aeb7851644e","type":"external","action":"request","outcome":"success","parent_id":"e9fbccfb45817617","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"98390d0115fcd940"}} +{"span":{"duration":0.16691699999999998,"id":"bf8f885503127d38","name":"Response","timestamp":1646055620871222,"trace_id":"98390d0115fcd940e41a7aeb7851644e","type":"external","action":"response","outcome":"success","parent_id":"e9fbccfb45817617","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"98390d0115fcd940"}} +{"span":{"duration":58.003792,"id":"e9fbccfb45817617","name":"GET opbeans-node:3000","timestamp":1646055620813387,"trace_id":"98390d0115fcd940e41a7aeb7851644e","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"98390d0115fcd940","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"98390d0115fcd940"}} +{"transaction":{"duration":58.736875,"id":"98390d0115fcd940","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055620813085,"trace_id":"98390d0115fcd940e41a7aeb7851644e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:20 GMT","Content-Length":"403","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.523792,"id":"23a8216d924ec566","name":"DNS opbeans-node","timestamp":1646055620895473,"trace_id":"fc9859fc3eb3ad0fbc73b071d57e0c30","type":"external","action":"dns","outcome":"success","parent_id":"ac8ba459344c4728","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7fd1dc502058081b"}} +{"span":{"duration":0.14575,"id":"8007b152cbb85605","name":"Connect 172.23.0.10:3000","timestamp":1646055620896001,"trace_id":"fc9859fc3eb3ad0fbc73b071d57e0c30","type":"external","action":"connect","outcome":"success","parent_id":"ac8ba459344c4728","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7fd1dc502058081b"}} +{"span":{"duration":101.93079200000001,"id":"95c8d43ae8a90be8","name":"Request","timestamp":1646055620896164,"trace_id":"fc9859fc3eb3ad0fbc73b071d57e0c30","type":"external","action":"request","outcome":"success","parent_id":"ac8ba459344c4728","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7fd1dc502058081b"}} +{"span":{"duration":0.199167,"id":"6058115ad47fd50e","name":"Response","timestamp":1646055620998142,"trace_id":"fc9859fc3eb3ad0fbc73b071d57e0c30","type":"external","action":"response","outcome":"success","parent_id":"ac8ba459344c4728","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7fd1dc502058081b"}} +{"span":{"duration":102.933959,"id":"ac8ba459344c4728","name":"GET opbeans-node:3000","timestamp":1646055620895409,"trace_id":"fc9859fc3eb3ad0fbc73b071d57e0c30","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"7fd1dc502058081b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7fd1dc502058081b"}} +{"transaction":{"duration":103.470583,"id":"7fd1dc502058081b","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055620895313,"trace_id":"fc9859fc3eb3ad0fbc73b071d57e0c30","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Traceparent":"00-fc9859fc3eb3ad0fbc73b071d57e0c30-c468b0d8f5c595fb-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-fc9859fc3eb3ad0fbc73b071d57e0c30-c468b0d8f5c595fb-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"275","Etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","Date":"Mon, 28 Feb 2022 13:40:20 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c468b0d8f5c595fb","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":106.013583,"id":"44433f095917c11c","name":"Request","timestamp":1646055620895212,"trace_id":"fc9859fc3eb3ad0fbc73b071d57e0c30","type":"external","action":"request","outcome":"success","parent_id":"c468b0d8f5c595fb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fc9859fc3eb3ad0f"}} +{"span":{"duration":0.055875,"id":"917f05577b4397cf","name":"Response","timestamp":1646055621001243,"trace_id":"fc9859fc3eb3ad0fbc73b071d57e0c30","type":"external","action":"response","outcome":"success","parent_id":"c468b0d8f5c595fb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fc9859fc3eb3ad0f"}} +{"span":{"duration":106.118625,"id":"c468b0d8f5c595fb","name":"GET opbeans-go:3000","timestamp":1646055620895180,"trace_id":"fc9859fc3eb3ad0fbc73b071d57e0c30","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"fc9859fc3eb3ad0f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fc9859fc3eb3ad0f"}} +{"transaction":{"duration":106.496167,"id":"fc9859fc3eb3ad0f","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055620894933,"trace_id":"fc9859fc3eb3ad0fbc73b071d57e0c30","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Length":"275","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:20 GMT","Etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\""},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.800959,"id":"3d1273dda451538e","name":"SELECT FROM customers","timestamp":1646055621019858,"trace_id":"fbf9f61eab638982d3836441f82cdbaa","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"fbf9f61eab638982","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"fbf9f61eab638982"}} +{"transaction":{"duration":4.321707999999999,"id":"fbf9f61eab638982","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055621019805,"trace_id":"fbf9f61eab638982d3836441f82cdbaa","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":115.214126,"id":"309e108b65e4d4ba","name":"Request","timestamp":1646055621058540,"trace_id":"8815c6da372e8e898c12149653fbb38b","type":"external","action":"request","outcome":"success","parent_id":"87b70cf624c5dae7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8815c6da372e8e89"}} +{"span":{"duration":0.0855,"id":"b33926fbde34789d","name":"Response","timestamp":1646055621173790,"trace_id":"8815c6da372e8e898c12149653fbb38b","type":"external","action":"response","outcome":"success","parent_id":"87b70cf624c5dae7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8815c6da372e8e89"}} +{"span":{"duration":115.544042,"id":"87b70cf624c5dae7","name":"GET opbeans-node:3000","timestamp":1646055621058332,"trace_id":"8815c6da372e8e898c12149653fbb38b","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"8815c6da372e8e89","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8815c6da372e8e89"}} +{"transaction":{"duration":116.191709,"id":"8815c6da372e8e89","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055621057908,"trace_id":"8815c6da372e8e898c12149653fbb38b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:21 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"189","Etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\""},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.481208,"id":"1274546f85020be1","name":"DNS opbeans-python","timestamp":1646055621192547,"trace_id":"aee2e13d4417da526cb44ca3a596fc33","type":"external","action":"dns","outcome":"success","parent_id":"65dbfa782e4e7ec2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aee2e13d4417da52"}} +{"span":{"duration":0.122,"id":"c8b285aae831f340","name":"Connect 172.23.0.11:3000","timestamp":1646055621193033,"trace_id":"aee2e13d4417da526cb44ca3a596fc33","type":"external","action":"connect","outcome":"success","parent_id":"65dbfa782e4e7ec2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aee2e13d4417da52"}} +{"span":{"duration":0.349417,"id":"e0bc2d94d5222f47","name":"SELECT FROM customers","timestamp":1646055621208637,"trace_id":"12f3efd2c683a1fcb41d8af00c44b1dc","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6b4f2e9057135678","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6b4f2e9057135678"}} +{"transaction":{"duration":0.5826250000000001,"id":"6b4f2e9057135678","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055621208604,"trace_id":"12f3efd2c683a1fcb41d8af00c44b1dc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/6288","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/6288"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-12f3efd2c683a1fcb41d8af00c44b1dc-2346b8c42725ac87-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-12f3efd2c683a1fcb41d8af00c44b1dc-2346b8c42725ac87-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"2346b8c42725ac87","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":131.986916,"id":"1d8c1bd56497f722","name":"Request","timestamp":1646055621193175,"trace_id":"aee2e13d4417da526cb44ca3a596fc33","type":"external","action":"request","outcome":"success","parent_id":"65dbfa782e4e7ec2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aee2e13d4417da52"}} +{"span":{"duration":0.941583,"id":"22e1f656c3a2d83b","name":"Response","timestamp":1646055621325194,"trace_id":"aee2e13d4417da526cb44ca3a596fc33","type":"external","action":"response","outcome":"success","parent_id":"65dbfa782e4e7ec2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aee2e13d4417da52"}} +{"span":{"duration":133.65175000000002,"id":"65dbfa782e4e7ec2","name":"GET opbeans-python:3000","timestamp":1646055621192489,"trace_id":"aee2e13d4417da526cb44ca3a596fc33","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers/307","status_code":200}},"outcome":"success","parent_id":"aee2e13d4417da52","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aee2e13d4417da52"}} +{"transaction":{"duration":134.813833,"id":"aee2e13d4417da52","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055621192295,"trace_id":"aee2e13d4417da526cb44ca3a596fc33","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/307","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/307"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"same-origin","Server":"gunicorn","Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"222","Date":"Mon, 28 Feb 2022 13:40:21 GMT","Vary":"Cookie","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.49799999999999994,"id":"a17f6dee364aba62","name":"SELECT FROM product_types","timestamp":1646055621360889,"trace_id":"de1b30bec86562a9c611e024c86c54c9","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"de1b30bec86562a9","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"de1b30bec86562a9"}} +{"transaction":{"duration":0.727375,"id":"de1b30bec86562a9","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055621360844,"trace_id":"de1b30bec86562a9c611e024c86c54c9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.432459,"id":"e191b806fd438405","name":"SELECT FROM product_types","timestamp":1646055621381378,"trace_id":"73a7d4dd74e8616b856414c6c28616ea","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8fafc18efab7b175","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8fafc18efab7b175"}} +{"transaction":{"duration":0.56175,"id":"8fafc18efab7b175","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055621381366,"trace_id":"73a7d4dd74e8616b856414c6c28616ea","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-73a7d4dd74e8616b856414c6c28616ea-ce73d9bae77618b4-01","Traceparent":"00-73a7d4dd74e8616b856414c6c28616ea-ce73d9bae77618b4-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ce73d9bae77618b4","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.759041,"id":"c62b60f829c449a1","name":"Request","timestamp":1646055621381264,"trace_id":"73a7d4dd74e8616b856414c6c28616ea","type":"external","action":"request","outcome":"success","parent_id":"ce73d9bae77618b4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"73a7d4dd74e8616b"}} +{"span":{"duration":0.037417,"id":"8d4af03a350dd3bc","name":"Response","timestamp":1646055621382025,"trace_id":"73a7d4dd74e8616b856414c6c28616ea","type":"external","action":"response","outcome":"success","parent_id":"ce73d9bae77618b4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"73a7d4dd74e8616b"}} +{"span":{"duration":0.8182499999999999,"id":"ce73d9bae77618b4","name":"GET opbeans-go:3000","timestamp":1646055621381245,"trace_id":"73a7d4dd74e8616b856414c6c28616ea","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types/1","status_code":200}},"outcome":"success","parent_id":"73a7d4dd74e8616b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"73a7d4dd74e8616b"}} +{"transaction":{"duration":1.007333,"id":"73a7d4dd74e8616b","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055621381139,"trace_id":"73a7d4dd74e8616b856414c6c28616ea","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"36","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:21 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.367333,"id":"1aa9d7575c4de475","name":"SELECT FROM products","timestamp":1646055621404000,"trace_id":"fa274c2a830bdf0f21547eaa0d20cbc2","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"92b5874ef8f125ca","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"92b5874ef8f125ca"}} +{"transaction":{"duration":0.485167,"id":"92b5874ef8f125ca","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055621403984,"trace_id":"fa274c2a830bdf0f21547eaa0d20cbc2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"Elastic-Apm-Traceparent":"00-fa274c2a830bdf0f21547eaa0d20cbc2-fe27f4c657e3b67e-01","Traceparent":"00-fa274c2a830bdf0f21547eaa0d20cbc2-fe27f4c657e3b67e-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"fe27f4c657e3b67e","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6449999999999999,"id":"6889d3876c4f7797","name":"Request","timestamp":1646055621403909,"trace_id":"fa274c2a830bdf0f21547eaa0d20cbc2","type":"external","action":"request","outcome":"success","parent_id":"fe27f4c657e3b67e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fa274c2a830bdf0f"}} +{"span":{"duration":0.08708300000000001,"id":"6b5471f445b8e282","name":"Response","timestamp":1646055621404554,"trace_id":"fa274c2a830bdf0f21547eaa0d20cbc2","type":"external","action":"response","outcome":"success","parent_id":"fe27f4c657e3b67e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fa274c2a830bdf0f"}} +{"span":{"duration":0.754625,"id":"fe27f4c657e3b67e","name":"GET opbeans-go:3000","timestamp":1646055621403888,"trace_id":"fa274c2a830bdf0f21547eaa0d20cbc2","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/3","status_code":200}},"outcome":"success","parent_id":"fa274c2a830bdf0f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fa274c2a830bdf0f"}} +{"transaction":{"duration":0.9395,"id":"fa274c2a830bdf0f","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055621403776,"trace_id":"fa274c2a830bdf0f21547eaa0d20cbc2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:21 GMT","Content-Length":"231"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6308750000000001,"id":"5d355a21e6d424f4","name":"DNS opbeans-python","timestamp":1646055621426532,"trace_id":"6ad302229669f429413457d1c292aa5b","type":"external","action":"dns","outcome":"success","parent_id":"600cf3aebc343e41","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6ad302229669f429"}} +{"span":{"duration":0.171875,"id":"f781a160fa461414","name":"Connect 172.23.0.11:3000","timestamp":1646055621427169,"trace_id":"6ad302229669f429413457d1c292aa5b","type":"external","action":"connect","outcome":"success","parent_id":"600cf3aebc343e41","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6ad302229669f429"}} +{"span":{"duration":28.637666999999997,"id":"25a490dee11e344a","name":"Request","timestamp":1646055621427357,"trace_id":"6ad302229669f429413457d1c292aa5b","type":"external","action":"request","outcome":"success","parent_id":"600cf3aebc343e41","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6ad302229669f429"}} +{"span":{"duration":0.28645899999999996,"id":"6afc8bb680fb56ba","name":"Response","timestamp":1646055621456027,"trace_id":"6ad302229669f429413457d1c292aa5b","type":"external","action":"response","outcome":"success","parent_id":"600cf3aebc343e41","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6ad302229669f429"}} +{"span":{"duration":29.845708,"id":"600cf3aebc343e41","name":"GET opbeans-python:3000","timestamp":1646055621426469,"trace_id":"6ad302229669f429413457d1c292aa5b","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"6ad302229669f429","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6ad302229669f429"}} +{"transaction":{"duration":31.505125000000003,"id":"6ad302229669f429","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055621425076,"trace_id":"6ad302229669f429413457d1c292aa5b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:21 GMT","Content-Type":"application/json","Content-Length":"128","Referrer-Policy":"same-origin","X-Frame-Options":"DENY","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":41.486083,"id":"6f5cb615e74bb32d","name":"Request","timestamp":1646055621483643,"trace_id":"6c00b1ae2657211740fc903f54a87f6d","type":"external","action":"request","outcome":"success","parent_id":"8e52421a561458a4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b5ff916c64745d70"}} +{"span":{"duration":0.173583,"id":"a5cb404906eeda1e","name":"Response","timestamp":1646055621525155,"trace_id":"6c00b1ae2657211740fc903f54a87f6d","type":"external","action":"response","outcome":"success","parent_id":"8e52421a561458a4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b5ff916c64745d70"}} +{"span":{"duration":41.694084,"id":"8e52421a561458a4","name":"GET opbeans-ruby:3000","timestamp":1646055621483636,"trace_id":"6c00b1ae2657211740fc903f54a87f6d","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"b5ff916c64745d70","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b5ff916c64745d70"}} +{"transaction":{"duration":41.991625,"id":"b5ff916c64745d70","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055621483517,"trace_id":"6c00b1ae2657211740fc903f54a87f6d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-6c00b1ae2657211740fc903f54a87f6d-3fd6323d4fd6b4c4-01","Traceparent":"00-6c00b1ae2657211740fc903f54a87f6d-3fd6323d4fd6b4c4-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"X-Download-Options":"noopen","X-Xss-Protection":"1; mode=block","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin","Vary":"Accept","X-Request-Id":"ba001d9d-f065-465a-81e0-dbb0a805f9fb","X-Runtime":"0.028958","X-Content-Type-Options":"nosniff","Content-Type":"application/json; charset=utf-8","Etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","X-Frame-Options":"SAMEORIGIN","Cache-Control":"max-age=0, private, must-revalidate"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"3fd6323d4fd6b4c4","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":42.253917,"id":"d61905ecc54343c8","name":"Request","timestamp":1646055621483446,"trace_id":"6c00b1ae2657211740fc903f54a87f6d","type":"external","action":"request","outcome":"success","parent_id":"3fd6323d4fd6b4c4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6c00b1ae26572117"}} +{"span":{"duration":0.16658299999999998,"id":"c3d1949aec905fe9","name":"Response","timestamp":1646055621525706,"trace_id":"6c00b1ae2657211740fc903f54a87f6d","type":"external","action":"response","outcome":"success","parent_id":"3fd6323d4fd6b4c4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6c00b1ae26572117"}} +{"span":{"duration":42.446833000000005,"id":"3fd6323d4fd6b4c4","name":"GET opbeans-go:3000","timestamp":1646055621483426,"trace_id":"6c00b1ae2657211740fc903f54a87f6d","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"6c00b1ae26572117","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6c00b1ae26572117"}} +{"transaction":{"duration":45.186334,"id":"6c00b1ae26572117","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055621483207,"trace_id":"6c00b1ae2657211740fc903f54a87f6d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Accept","X-Runtime":"0.028958","Content-Type":"application/json; charset=utf-8","X-Content-Type-Options":"nosniff","X-Request-Id":"ba001d9d-f065-465a-81e0-dbb0a805f9fb","Referrer-Policy":"strict-origin-when-cross-origin","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","X-Xss-Protection":"1; mode=block","Etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","Date":"Mon, 28 Feb 2022 13:40:21 GMT","Cache-Control":"max-age=0, private, must-revalidate","X-Frame-Options":"SAMEORIGIN"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.37633300000000003,"id":"56fc3837a7c5007c","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055621548809,"trace_id":"56fc3837a7c5007c349c22e51fa1bd01","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"349c22e51fa1bd01","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.315,"id":"3f6c005533a481fa","name":"SELECT FROM product_types","timestamp":1646055621570808,"trace_id":"35d13766b6030a2b83f6184c34a198b4","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"35d13766b6030a2b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"35d13766b6030a2b"}} +{"transaction":{"duration":0.560125,"id":"35d13766b6030a2b","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055621570762,"trace_id":"35d13766b6030a2b83f6184c34a198b4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.4842090000000001,"id":"262dfd88760b8ffd","name":"SELECT FROM customers","timestamp":1646055621680897,"trace_id":"97f47691acfc38b07831378436cec2dd","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c3f38a8f06dc90c8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c3f38a8f06dc90c8"}} +{"span":{"duration":3.013375,"id":"d47b2f63aeea21a0","name":"Request","timestamp":1646055621680805,"trace_id":"97f47691acfc38b07831378436cec2dd","type":"external","action":"request","outcome":"success","parent_id":"39594d2d3f18d479","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fa93020074420258"}} +{"transaction":{"duration":3.216417,"id":"c3f38a8f06dc90c8","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055621680865,"trace_id":"97f47691acfc38b07831378436cec2dd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3/customers"},"headers":{"X-Forwarded-For":"172.23.0.12","Accept-Encoding":"gzip","User-Agent":"http.rb/5.0.4","Elastic-Apm-Traceparent":"00-97f47691acfc38b07831378436cec2dd-39594d2d3f18d479-01","Traceparent":"00-97f47691acfc38b07831378436cec2dd-39594d2d3f18d479-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"39594d2d3f18d479","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.900709,"id":"6e87f2fcf05d4db7","name":"Response","timestamp":1646055621683830,"trace_id":"97f47691acfc38b07831378436cec2dd","type":"external","action":"response","outcome":"success","parent_id":"39594d2d3f18d479","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fa93020074420258"}} +{"span":{"duration":4.031333,"id":"39594d2d3f18d479","name":"GET opbeans-go:3000","timestamp":1646055621680701,"trace_id":"97f47691acfc38b07831378436cec2dd","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/3/customers","status_code":200}},"outcome":"success","parent_id":"fa93020074420258","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fa93020074420258"}} +{"transaction":{"duration":4.3033339999999995,"id":"fa93020074420258","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055621680548,"trace_id":"97f47691acfc38b07831378436cec2dd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3/customers"},"headers":{"Elastic-Apm-Traceparent":"00-97f47691acfc38b07831378436cec2dd-e4dcb83842b47059-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-97f47691acfc38b07831378436cec2dd-e4dcb83842b47059-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:21 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e4dcb83842b47059","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":144.315041,"id":"55b3638748a734cb","name":"Request","timestamp":1646055621589524,"trace_id":"537ec289ca25bde8730cb132c04f28fb","type":"external","action":"request","outcome":"success","parent_id":"894847ba03ddf340","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"537ec289ca25bde8"}} +{"span":{"duration":0.182833,"id":"d1b8846e38536387","name":"Response","timestamp":1646055621733862,"trace_id":"537ec289ca25bde8730cb132c04f28fb","type":"external","action":"response","outcome":"success","parent_id":"894847ba03ddf340","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"537ec289ca25bde8"}} +{"span":{"duration":144.541375,"id":"894847ba03ddf340","name":"GET opbeans-ruby:3000","timestamp":1646055621589505,"trace_id":"537ec289ca25bde8730cb132c04f28fb","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"537ec289ca25bde8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"537ec289ca25bde8"}} +{"transaction":{"duration":144.785,"id":"537ec289ca25bde8","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055621589440,"trace_id":"537ec289ca25bde8730cb132c04f28fb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.475958,"id":"7add19d1b4a12e95","name":"SELECT FROM orders","timestamp":1646055621741990,"trace_id":"20e2d935d9806dd25b3954c65d35f42a","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0c3ab17e360d63a6","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0c3ab17e360d63a6"}} +{"transaction":{"duration":2.582333,"id":"0c3ab17e360d63a6","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055621741948,"trace_id":"20e2d935d9806dd25b3954c65d35f42a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Elastic-Apm-Traceparent":"00-20e2d935d9806dd25b3954c65d35f42a-0756216183186a10-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-20e2d935d9806dd25b3954c65d35f42a-0756216183186a10-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"0756216183186a10","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.403833,"id":"7729bbbcd71462fd","name":"SELECT FROM orders","timestamp":1646055621753314,"trace_id":"e91f6ffb576415e783118f82feb011bf","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e91f6ffb576415e7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e91f6ffb576415e7"}} +{"span":{"duration":0.47020900000000004,"id":"22f6f57ea5e366c5","name":"SELECT FROM products","timestamp":1646055621753770,"trace_id":"e91f6ffb576415e783118f82feb011bf","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e91f6ffb576415e7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e91f6ffb576415e7"}} +{"transaction":{"duration":1.060709,"id":"e91f6ffb576415e7","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055621753296,"trace_id":"e91f6ffb576415e783118f82feb011bf","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/462","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/462"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.24337499999999998,"id":"f7a6a6d518c27226","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":0},"timestamp":1646055621802941,"trace_id":"460c89d98b7592ce7e6d9baf0f50b588","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/csv","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/csv"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-460c89d98b7592ce7e6d9baf0f50b588-3d883a96d30a822f-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-460c89d98b7592ce7e6d9baf0f50b588-3d883a96d30a822f-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"status_code":500},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","parent_id":"3d883a96d30a822f","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":49.721166999999994,"id":"a580baed625f5d03","name":"Request","timestamp":1646055621780025,"trace_id":"460c89d98b7592ce7e6d9baf0f50b588","type":"external","action":"request","outcome":"success","parent_id":"bcea3e4fe5c2a573","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"460c89d98b7592ce"}} +{"span":{"duration":0.203291,"id":"556e71e30873ddec","name":"Response","timestamp":1646055621829768,"trace_id":"460c89d98b7592ce7e6d9baf0f50b588","type":"external","action":"response","outcome":"success","parent_id":"bcea3e4fe5c2a573","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"460c89d98b7592ce"}} +{"span":{"duration":49.970875,"id":"bcea3e4fe5c2a573","name":"POST opbeans-ruby:3000","timestamp":1646055621780002,"trace_id":"460c89d98b7592ce7e6d9baf0f50b588","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/csv","status_code":500}},"outcome":"failure","parent_id":"460c89d98b7592ce","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"460c89d98b7592ce"}} +{"transaction":{"duration":50.646209,"id":"460c89d98b7592ce","name":"POST /api/orders/csv","span_count":{"dropped":0,"started":3},"timestamp":1646055621779804,"trace_id":"460c89d98b7592ce7e6d9baf0f50b588","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders/csv","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/csv"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"384","Content-Type":"multipart/form-data; boundary=9f8a50005692458ea3bf69b71d8b826a","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/plain"},"status_code":500},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":79.195334,"id":"7561a4baaf1520f1","name":"Request","timestamp":1646055621861273,"trace_id":"b5f22f8c45e5c90dab81cccace18ba52","type":"external","action":"request","outcome":"success","parent_id":"798201af37db34a5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b5f22f8c45e5c90d"}} +{"span":{"duration":0.067375,"id":"a993c467567b7918","name":"Response","timestamp":1646055621940491,"trace_id":"b5f22f8c45e5c90dab81cccace18ba52","type":"external","action":"response","outcome":"success","parent_id":"798201af37db34a5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b5f22f8c45e5c90d"}} +{"span":{"duration":79.3055,"id":"798201af37db34a5","name":"GET opbeans-node:3000","timestamp":1646055621861254,"trace_id":"b5f22f8c45e5c90dab81cccace18ba52","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"b5f22f8c45e5c90d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b5f22f8c45e5c90d"}} +{"transaction":{"duration":79.757792,"id":"b5f22f8c45e5c90d","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055621861187,"trace_id":"b5f22f8c45e5c90dab81cccace18ba52","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"108","Etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","Date":"Mon, 28 Feb 2022 13:40:21 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.549,"id":"ebe16178cb8f8966","name":"SELECT FROM product_types","timestamp":1646055621972534,"trace_id":"748be509ff016226cc76123fc0590098","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3b18abdb17546eb3","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3b18abdb17546eb3"}} +{"transaction":{"duration":0.8018329999999999,"id":"3b18abdb17546eb3","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055621972503,"trace_id":"748be509ff016226cc76123fc0590098","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Traceparent":"00-748be509ff016226cc76123fc0590098-d6e11055e987ae07-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-748be509ff016226cc76123fc0590098-d6e11055e987ae07-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d6e11055e987ae07","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":27.726375,"id":"347e0281d2df586e","name":"Request","timestamp":1646055621959169,"trace_id":"748be509ff016226cc76123fc0590098","type":"external","action":"request","outcome":"success","parent_id":"a3b0c83a1b1acc9d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"748be509ff016226"}} +{"span":{"duration":0.108541,"id":"2a84f14abcf297ea","name":"Response","timestamp":1646055621986926,"trace_id":"748be509ff016226cc76123fc0590098","type":"external","action":"response","outcome":"success","parent_id":"a3b0c83a1b1acc9d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"748be509ff016226"}} +{"span":{"duration":27.8895,"id":"a3b0c83a1b1acc9d","name":"GET opbeans-node:3000","timestamp":1646055621959147,"trace_id":"748be509ff016226cc76123fc0590098","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"748be509ff016226","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"748be509ff016226"}} +{"transaction":{"duration":28.201792,"id":"748be509ff016226","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055621958977,"trace_id":"748be509ff016226cc76123fc0590098","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:21 GMT","Content-Length":"37","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.458708,"id":"d5145e81c82e95b8","name":"SELECT FROM product_types","timestamp":1646055622006386,"trace_id":"a2482c303ca12b262fedf33c8ce95f91","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a2482c303ca12b26","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a2482c303ca12b26"}} +{"transaction":{"duration":0.5729580000000001,"id":"a2482c303ca12b26","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055622006371,"trace_id":"a2482c303ca12b262fedf33c8ce95f91","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.423666,"id":"dd36b3b0b5eeb252","name":"SELECT FROM products","timestamp":1646055622026694,"trace_id":"80070768a35bc45febb420401b4ed831","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"80070768a35bc45f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"80070768a35bc45f"}} +{"transaction":{"duration":0.829708,"id":"80070768a35bc45f","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055622026671,"trace_id":"80070768a35bc45febb420401b4ed831","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.938625,"id":"ed5aab92a31459ab","name":"SELECT FROM customers","timestamp":1646055622058685,"trace_id":"7a7222a68fbc4dcb4f807fc63488ae37","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7a7222a68fbc4dcb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7a7222a68fbc4dcb"}} +{"transaction":{"duration":8.0345,"id":"7a7222a68fbc4dcb","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055622058658,"trace_id":"7a7222a68fbc4dcb4f807fc63488ae37","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.483791,"id":"8ed4d580cc44e37a","name":"DNS opbeans-python","timestamp":1646055622084081,"trace_id":"565fd7444d1ab56e4349f9e86076a960","type":"external","action":"dns","outcome":"success","parent_id":"ce8a3d38a4dee7f3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"565fd7444d1ab56e"}} +{"span":{"duration":0.174,"id":"a6fdc241ba512734","name":"Connect 172.23.0.11:3000","timestamp":1646055622084570,"trace_id":"565fd7444d1ab56e4349f9e86076a960","type":"external","action":"connect","outcome":"success","parent_id":"ce8a3d38a4dee7f3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"565fd7444d1ab56e"}} +{"span":{"duration":69.664291,"id":"87336820f61e09ca","name":"Request","timestamp":1646055622084761,"trace_id":"565fd7444d1ab56e4349f9e86076a960","type":"external","action":"request","outcome":"success","parent_id":"ce8a3d38a4dee7f3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"565fd7444d1ab56e"}} +{"span":{"duration":3.578292,"id":"0e7240e4422c9791","name":"Response","timestamp":1646055622154449,"trace_id":"565fd7444d1ab56e4349f9e86076a960","type":"external","action":"response","outcome":"success","parent_id":"ce8a3d38a4dee7f3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"565fd7444d1ab56e"}} +{"span":{"duration":74.037917,"id":"ce8a3d38a4dee7f3","name":"GET opbeans-python:3000","timestamp":1646055622083993,"trace_id":"565fd7444d1ab56e4349f9e86076a960","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"565fd7444d1ab56e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"565fd7444d1ab56e"}} +{"transaction":{"duration":74.296375,"id":"565fd7444d1ab56e","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055622083819,"trace_id":"565fd7444d1ab56e4349f9e86076a960","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:22 GMT","Content-Type":"application/json","Vary":"Cookie","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Server":"gunicorn","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.214042,"id":"d83057e0f3597c99","name":"SELECT FROM product_types","timestamp":1646055622176791,"trace_id":"d117374971ec8b1c2fe8fa73adf1a034","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d117374971ec8b1c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d117374971ec8b1c"}} +{"transaction":{"duration":0.31775,"id":"d117374971ec8b1c","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055622176775,"trace_id":"d117374971ec8b1c2fe8fa73adf1a034","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.725208,"id":"fd235a1824a57297","name":"SELECT FROM orders","timestamp":1646055622201325,"trace_id":"3f7d31ba1db63d87fee06087257fc679","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"30f33e3c7f00c287","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"30f33e3c7f00c287"}} +{"span":{"duration":0.832458,"id":"da95334234cabcd9","name":"SELECT FROM products","timestamp":1646055622202139,"trace_id":"3f7d31ba1db63d87fee06087257fc679","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"30f33e3c7f00c287","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"30f33e3c7f00c287"}} +{"transaction":{"duration":1.785709,"id":"30f33e3c7f00c287","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055622201312,"trace_id":"3f7d31ba1db63d87fee06087257fc679","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/947","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/947"},"headers":{"Elastic-Apm-Traceparent":"00-3f7d31ba1db63d87fee06087257fc679-e4913b82336cabf1-01","Traceparent":"00-3f7d31ba1db63d87fee06087257fc679-e4913b82336cabf1-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14, 172.23.0.9","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e4913b82336cabf1","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.303875,"id":"c16a34fc9d014495","name":"Request","timestamp":1646055622201236,"trace_id":"3f7d31ba1db63d87fee06087257fc679","type":"external","action":"request","outcome":"success","parent_id":"e4913b82336cabf1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"86d599af19566f83"}} +{"span":{"duration":0.172292,"id":"36214dac958a0e28","name":"Response","timestamp":1646055622203554,"trace_id":"3f7d31ba1db63d87fee06087257fc679","type":"external","action":"response","outcome":"success","parent_id":"e4913b82336cabf1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"86d599af19566f83"}} +{"span":{"duration":2.545833,"id":"e4913b82336cabf1","name":"GET opbeans-go:3000","timestamp":1646055622201181,"trace_id":"3f7d31ba1db63d87fee06087257fc679","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/947","status_code":200}},"outcome":"success","parent_id":"86d599af19566f83","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"86d599af19566f83"}} +{"transaction":{"duration":2.7773749999999997,"id":"86d599af19566f83","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055622201160,"trace_id":"3f7d31ba1db63d87fee06087257fc679","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/947","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/947"},"headers":{"Elastic-Apm-Traceparent":"00-3f7d31ba1db63d87fee06087257fc679-8d8336034019e39c-01","Traceparent":"00-3f7d31ba1db63d87fee06087257fc679-8d8336034019e39c-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:22 GMT","Content-Length":"309","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"8d8336034019e39c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.950667,"id":"36d8cfacf3aaabf8","name":"Request","timestamp":1646055622201057,"trace_id":"3f7d31ba1db63d87fee06087257fc679","type":"external","action":"request","outcome":"success","parent_id":"8d8336034019e39c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3f7d31ba1db63d87"}} +{"span":{"duration":0.019292,"id":"eb59ca7073cda9a3","name":"Response","timestamp":1646055622204009,"trace_id":"3f7d31ba1db63d87fee06087257fc679","type":"external","action":"response","outcome":"success","parent_id":"8d8336034019e39c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3f7d31ba1db63d87"}} +{"span":{"duration":2.993875,"id":"8d8336034019e39c","name":"GET opbeans-go:3000","timestamp":1646055622201035,"trace_id":"3f7d31ba1db63d87fee06087257fc679","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/947","status_code":200}},"outcome":"success","parent_id":"3f7d31ba1db63d87","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3f7d31ba1db63d87"}} +{"transaction":{"duration":3.149458,"id":"3f7d31ba1db63d87","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055622200963,"trace_id":"3f7d31ba1db63d87fee06087257fc679","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/947","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/947"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"309","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:22 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.412542,"id":"ab268f948b6cb9f6","name":"SELECT FROM product_types","timestamp":1646055622226529,"trace_id":"600eb7890d243b0f0e283357d477a14a","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"600eb7890d243b0f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"600eb7890d243b0f"}} +{"transaction":{"duration":0.5535,"id":"600eb7890d243b0f","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055622226507,"trace_id":"600eb7890d243b0f0e283357d477a14a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.0061250000000002,"id":"cf7644f177af7c1c","name":"DNS opbeans-node","timestamp":1646055622247355,"trace_id":"17fb8a91c49b96910b5e90cffc176bb4","type":"external","action":"dns","outcome":"success","parent_id":"1a7805fcb7e84d36","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"17fb8a91c49b9691"}} +{"span":{"duration":0.126792,"id":"55738d4189cef392","name":"Connect 172.23.0.10:3000","timestamp":1646055622248367,"trace_id":"17fb8a91c49b96910b5e90cffc176bb4","type":"external","action":"connect","outcome":"success","parent_id":"1a7805fcb7e84d36","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"17fb8a91c49b9691"}} +{"span":{"duration":287.677042,"id":"3f2f0c93373df5b5","name":"Request","timestamp":1646055622248505,"trace_id":"17fb8a91c49b96910b5e90cffc176bb4","type":"external","action":"request","outcome":"success","parent_id":"1a7805fcb7e84d36","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"17fb8a91c49b9691"}} +{"span":{"duration":2.324208,"id":"6dc42eab7b6c08b1","name":"Response","timestamp":1646055622536226,"trace_id":"17fb8a91c49b96910b5e90cffc176bb4","type":"external","action":"response","outcome":"success","parent_id":"1a7805fcb7e84d36","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"17fb8a91c49b9691"}} +{"span":{"duration":291.251751,"id":"1a7805fcb7e84d36","name":"GET opbeans-node:3000","timestamp":1646055622247302,"trace_id":"17fb8a91c49b96910b5e90cffc176bb4","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"17fb8a91c49b9691","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"17fb8a91c49b9691"}} +{"transaction":{"duration":291.592334,"id":"17fb8a91c49b9691","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055622247233,"trace_id":"17fb8a91c49b96910b5e90cffc176bb4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"186769","Etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","Date":"Mon, 28 Feb 2022 13:40:22 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.8671669999999999,"id":"761e3fc1ef8d69e6","name":"SELECT FROM products","timestamp":1646055622558309,"trace_id":"6000ac21f566efbf001219e841cd8e6e","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6000ac21f566efbf","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6000ac21f566efbf"}} +{"transaction":{"duration":1.163958,"id":"6000ac21f566efbf","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055622558174,"trace_id":"6000ac21f566efbf001219e841cd8e6e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.873,"id":"8a62f9aadaa06c2e","name":"SELECT FROM orders","timestamp":1646055622586277,"trace_id":"8dc01351fe121ceb24c58efde41d1512","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"30db1c89e72e3e85","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"30db1c89e72e3e85"}} +{"span":{"duration":0.89625,"id":"b71623779674be2f","name":"SELECT FROM products","timestamp":1646055622587243,"trace_id":"8dc01351fe121ceb24c58efde41d1512","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"30db1c89e72e3e85","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"30db1c89e72e3e85"}} +{"transaction":{"duration":2.003875,"id":"30db1c89e72e3e85","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055622586261,"trace_id":"8dc01351fe121ceb24c58efde41d1512","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/692","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/692"},"headers":{"Traceparent":"00-8dc01351fe121ceb24c58efde41d1512-41271061f2b378ad-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-8dc01351fe121ceb24c58efde41d1512-41271061f2b378ad-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"41271061f2b378ad","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.184167,"id":"4da59faecd0fca9f","name":"Request","timestamp":1646055622586164,"trace_id":"8dc01351fe121ceb24c58efde41d1512","type":"external","action":"request","outcome":"success","parent_id":"41271061f2b378ad","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8dc01351fe121ceb"}} +{"span":{"duration":0.071709,"id":"badafbdc47f6acde","name":"Response","timestamp":1646055622588350,"trace_id":"8dc01351fe121ceb24c58efde41d1512","type":"external","action":"response","outcome":"success","parent_id":"41271061f2b378ad","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8dc01351fe121ceb"}} +{"span":{"duration":2.282792,"id":"41271061f2b378ad","name":"GET opbeans-go:3000","timestamp":1646055622586139,"trace_id":"8dc01351fe121ceb24c58efde41d1512","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/692","status_code":200}},"outcome":"success","parent_id":"8dc01351fe121ceb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8dc01351fe121ceb"}} +{"transaction":{"duration":2.398417,"id":"8dc01351fe121ceb","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055622586057,"trace_id":"8dc01351fe121ceb24c58efde41d1512","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/692","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/692"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:22 GMT","Content-Length":"290"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.4475829999999998,"id":"71946c9d2d943022","name":"SELECT FROM customers","timestamp":1646055622608387,"trace_id":"cae6a942e738a36a801a1b2f5cfee46a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"cae6a942e738a36a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"cae6a942e738a36a"}} +{"transaction":{"duration":3.447833,"id":"cae6a942e738a36a","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055622608366,"trace_id":"cae6a942e738a36a801a1b2f5cfee46a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.36166699999999996,"id":"b19cc0c6afb0c290","name":"SELECT FROM products","timestamp":1646055622635716,"trace_id":"0d0978269eeae41bddeb4d0ace62586b","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0d0978269eeae41b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0d0978269eeae41b"}} +{"transaction":{"duration":0.47308300000000003,"id":"0d0978269eeae41b","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055622635686,"trace_id":"0d0978269eeae41bddeb4d0ace62586b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.464125,"id":"7c3e554770344c02","name":"SELECT FROM orders","timestamp":1646055622656544,"trace_id":"4908daf93052b730f3886f0b1cb4f4a9","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4908daf93052b730","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4908daf93052b730"}} +{"span":{"duration":0.4525,"id":"210b3c5185e3d703","name":"SELECT FROM products","timestamp":1646055622657038,"trace_id":"4908daf93052b730f3886f0b1cb4f4a9","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4908daf93052b730","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4908daf93052b730"}} +{"transaction":{"duration":1.265666,"id":"4908daf93052b730","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055622656523,"trace_id":"4908daf93052b730f3886f0b1cb4f4a9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/949","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/949"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":63.23954199999999,"id":"7dfeb376fea10167","name":"Request","timestamp":1646055622666103,"trace_id":"265f225bcb680824e04e257de27b9e31","type":"external","action":"request","outcome":"success","parent_id":"26ac3e78a25fb9d6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"945c9e4d74d93516"}} +{"span":{"duration":6.1344579999999995,"id":"b6dbf876a232e3d0","name":"Response","timestamp":1646055622729367,"trace_id":"265f225bcb680824e04e257de27b9e31","type":"external","action":"response","outcome":"success","parent_id":"26ac3e78a25fb9d6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"945c9e4d74d93516"}} +{"span":{"duration":69.457625,"id":"26ac3e78a25fb9d6","name":"GET opbeans-ruby:3000","timestamp":1646055622666083,"trace_id":"265f225bcb680824e04e257de27b9e31","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/5588","status_code":404}},"outcome":"failure","parent_id":"945c9e4d74d93516","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"945c9e4d74d93516"}} +{"transaction":{"duration":69.769334,"id":"945c9e4d74d93516","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055622666023,"trace_id":"265f225bcb680824e04e257de27b9e31","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/5588","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/5588"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-265f225bcb680824e04e257de27b9e31-45dde20158cf2297-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-265f225bcb680824e04e257de27b9e31-45dde20158cf2297-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"text/html; charset=UTF-8","X-Request-Id":"4365993b-2c07-4462-8335-e867e93c6894","X-Runtime":"0.054991","Content-Length":"1722"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"45dde20158cf2297","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":118.992458,"id":"dd023d6a0cdcc558","name":"Request","timestamp":1646055622680886,"trace_id":"97c1d10962e0a8691df92b21257dc9ec","type":"external","action":"request","outcome":"success","parent_id":"ca6032b188dcc6da","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"97c1d10962e0a869"}} +{"span":{"duration":0.24716700000000003,"id":"9ef7a7d5c91ebd9a","name":"Response","timestamp":1646055622799913,"trace_id":"97c1d10962e0a8691df92b21257dc9ec","type":"external","action":"response","outcome":"success","parent_id":"ca6032b188dcc6da","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"97c1d10962e0a869"}} +{"span":{"duration":119.295583,"id":"ca6032b188dcc6da","name":"GET opbeans-ruby:3000","timestamp":1646055622680866,"trace_id":"97c1d10962e0a8691df92b21257dc9ec","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"97c1d10962e0a869","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"97c1d10962e0a869"}} +{"transaction":{"duration":119.488833,"id":"97c1d10962e0a869","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055622680804,"trace_id":"97c1d10962e0a8691df92b21257dc9ec","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Request-Id":"bd6b657f-1645-4388-95ce-1e040ca1f433","X-Xss-Protection":"1; mode=block","X-Content-Type-Options":"nosniff","Etag":"W/\"6b84b8cfae4908f93f790804f2c9e7c9\"","Cache-Control":"max-age=0, private, must-revalidate","X-Frame-Options":"SAMEORIGIN","Referrer-Policy":"strict-origin-when-cross-origin","Content-Type":"application/json; charset=utf-8","X-Download-Options":"noopen","X-Runtime":"0.093731","X-Permitted-Cross-Domain-Policies":"none","Vary":"Accept"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.480416,"id":"1217995ed6a58ac8","name":"SELECT FROM customers","timestamp":1646055622886222,"trace_id":"f63e5da27de30558d826e55e5895bd78","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0ee27e2a1546f889","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0ee27e2a1546f889"}} +{"transaction":{"duration":0.62725,"id":"0ee27e2a1546f889","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055622886196,"trace_id":"f63e5da27de30558d826e55e5895bd78","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/9864","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/9864"},"headers":{"Traceparent":"00-f63e5da27de30558d826e55e5895bd78-cf8fc9bf93161040-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-f63e5da27de30558d826e55e5895bd78-cf8fc9bf93161040-01","Connection":"close","User-Agent":"http.rb/5.0.4"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"cf8fc9bf93161040","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":101.58304199999999,"id":"22db9355418acb2e","name":"Request","timestamp":1646055622819304,"trace_id":"f63e5da27de30558d826e55e5895bd78","type":"external","action":"request","outcome":"success","parent_id":"8048971eea64e74a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f63e5da27de30558"}} +{"span":{"duration":0.121667,"id":"a8b5e4747dac7b62","name":"Response","timestamp":1646055622920917,"trace_id":"f63e5da27de30558d826e55e5895bd78","type":"external","action":"response","outcome":"success","parent_id":"8048971eea64e74a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f63e5da27de30558"}} +{"span":{"duration":101.75345800000001,"id":"8048971eea64e74a","name":"GET opbeans-ruby:3000","timestamp":1646055622819286,"trace_id":"f63e5da27de30558d826e55e5895bd78","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/9864","status_code":404}},"outcome":"failure","parent_id":"f63e5da27de30558","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f63e5da27de30558"}} +{"transaction":{"duration":101.902375,"id":"f63e5da27de30558","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055622819229,"trace_id":"f63e5da27de30558d826e55e5895bd78","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/9864","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/9864"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/plain"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.222041,"id":"35a68028753ba6d8","name":"DNS opbeans-python","timestamp":1646055622942352,"trace_id":"6051a45411f6d6c897d0d0b131b05eb4","type":"external","action":"dns","outcome":"success","parent_id":"867bbece041dcda1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6051a45411f6d6c8"}} +{"span":{"duration":0.137625,"id":"45b5b63bf8a75348","name":"Connect 172.23.0.11:3000","timestamp":1646055622942580,"trace_id":"6051a45411f6d6c897d0d0b131b05eb4","type":"external","action":"connect","outcome":"success","parent_id":"867bbece041dcda1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6051a45411f6d6c8"}} +{"span":{"duration":31.149875,"id":"b09e75cdaebc326b","name":"Request","timestamp":1646055622942726,"trace_id":"6051a45411f6d6c897d0d0b131b05eb4","type":"external","action":"request","outcome":"success","parent_id":"867bbece041dcda1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6051a45411f6d6c8"}} +{"span":{"duration":3.83825,"id":"4334aa7981a3f564","name":"Response","timestamp":1646055622973919,"trace_id":"6051a45411f6d6c897d0d0b131b05eb4","type":"external","action":"response","outcome":"success","parent_id":"867bbece041dcda1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6051a45411f6d6c8"}} +{"span":{"duration":35.458083,"id":"867bbece041dcda1","name":"GET opbeans-python:3000","timestamp":1646055622942303,"trace_id":"6051a45411f6d6c897d0d0b131b05eb4","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"6051a45411f6d6c8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6051a45411f6d6c8"}} +{"transaction":{"duration":35.687584,"id":"6051a45411f6d6c8","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055622942168,"trace_id":"6051a45411f6d6c897d0d0b131b05eb4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","Referrer-Policy":"same-origin","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:22 GMT","Content-Type":"application/json","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.723333,"id":"64213986d91127f7","name":"SELECT FROM orders","timestamp":1646055623002083,"trace_id":"d47acb69fa34bef5225e931777f9cf00","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d47acb69fa34bef5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d47acb69fa34bef5"}} +{"span":{"duration":1.694833,"id":"06f09c517e7282d9","name":"SELECT FROM products","timestamp":1646055623002864,"trace_id":"d47acb69fa34bef5225e931777f9cf00","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d47acb69fa34bef5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d47acb69fa34bef5"}} +{"transaction":{"duration":3.161167,"id":"d47acb69fa34bef5","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055623002039,"trace_id":"d47acb69fa34bef5225e931777f9cf00","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/180","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/180"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.51575,"id":"f9a04bbd4ce505a9","name":"SELECT FROM products","timestamp":1646055623024773,"trace_id":"1490c15b8159705490e2720ce8faf2aa","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1490c15b81597054","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1490c15b81597054"}} +{"transaction":{"duration":0.712792,"id":"1490c15b81597054","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055623024741,"trace_id":"1490c15b8159705490e2720ce8faf2aa","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.464583,"id":"b48ade167411b1dc","name":"DNS opbeans-node","timestamp":1646055623072361,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"external","action":"dns","outcome":"success","parent_id":"2846d8b0b507938f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"88275f61018288c8"}} +{"span":{"duration":0.11649999999999999,"id":"79811b394f9b8d86","name":"Connect 172.23.0.10:3000","timestamp":1646055623072830,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"external","action":"connect","outcome":"success","parent_id":"2846d8b0b507938f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"88275f61018288c8"}} +{"span":{"duration":59.596125,"id":"1e1f9897193efe03","name":"Request","timestamp":1646055623072957,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"external","action":"request","outcome":"success","parent_id":"2846d8b0b507938f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"88275f61018288c8"}} +{"span":{"duration":0.13224999999999998,"id":"456a897c0d98ab35","name":"Response","timestamp":1646055623132580,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"external","action":"response","outcome":"success","parent_id":"2846d8b0b507938f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"88275f61018288c8"}} +{"span":{"duration":60.380625,"id":"2846d8b0b507938f","name":"GET opbeans-node:3000","timestamp":1646055623072333,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"88275f61018288c8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"88275f61018288c8"}} +{"transaction":{"duration":62.318667,"id":"88275f61018288c8","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055623072319,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"http.rb/5.0.4","Accept-Encoding":"gzip","Elastic-Apm-Traceparent":"00-ef03b3f7518e00440f2afc7bf1340494-49ca77a4a96375fb-01","Traceparent":"00-ef03b3f7518e00440f2afc7bf1340494-49ca77a4a96375fb-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.12, 172.23.0.9"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"944","Etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","Date":"Mon, 28 Feb 2022 13:40:23 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"49ca77a4a96375fb","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":62.451874999999994,"id":"39a547fc2e756b2b","name":"Request","timestamp":1646055623072279,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"external","action":"request","outcome":"success","parent_id":"49ca77a4a96375fb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"97f59f68429c38da"}} +{"span":{"duration":0.031,"id":"b613d7915bdf018f","name":"Response","timestamp":1646055623134743,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"external","action":"response","outcome":"success","parent_id":"49ca77a4a96375fb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"97f59f68429c38da"}} +{"span":{"duration":62.501583,"id":"49ca77a4a96375fb","name":"GET opbeans-go:3000","timestamp":1646055623072273,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"97f59f68429c38da","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"97f59f68429c38da"}} +{"transaction":{"duration":62.638957999999995,"id":"97f59f68429c38da","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055623072253,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"http.rb/5.0.4","Elastic-Apm-Traceparent":"00-ef03b3f7518e00440f2afc7bf1340494-1896f320c4c983c2-01","Traceparent":"00-ef03b3f7518e00440f2afc7bf1340494-1896f320c4c983c2-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.12","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Length":"944","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:23 GMT","Etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"1896f320c4c983c2","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":62.786125,"id":"a60a4910bb7368f7","name":"Request","timestamp":1646055623072194,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"external","action":"request","outcome":"success","parent_id":"1896f320c4c983c2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1a3eff2abf266cfa"}} +{"span":{"duration":0.013042,"id":"7459f010dfd18d85","name":"Response","timestamp":1646055623134985,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"external","action":"response","outcome":"success","parent_id":"1896f320c4c983c2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1a3eff2abf266cfa"}} +{"span":{"duration":62.82575,"id":"1896f320c4c983c2","name":"GET opbeans-go:3000","timestamp":1646055623072173,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"1a3eff2abf266cfa","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1a3eff2abf266cfa"}} +{"transaction":{"duration":62.93625,"id":"1a3eff2abf266cfa","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055623072118,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Elastic-Apm-Traceparent":"00-ef03b3f7518e00440f2afc7bf1340494-886feb834102a40d-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-ef03b3f7518e00440f2afc7bf1340494-886feb834102a40d-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Length":"944","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:23 GMT","Etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"886feb834102a40d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":100.001125,"id":"9c14b1e04b159e32","name":"Request","timestamp":1646055623046456,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"external","action":"request","outcome":"success","parent_id":"773e5cad08ea1de0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ef03b3f7518e0044"}} +{"span":{"duration":0.21208300000000002,"id":"0b4bcc3601003d76","name":"Response","timestamp":1646055623146481,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"external","action":"response","outcome":"success","parent_id":"773e5cad08ea1de0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ef03b3f7518e0044"}} +{"span":{"duration":100.263167,"id":"773e5cad08ea1de0","name":"POST opbeans-ruby:3000","timestamp":1646055623046431,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"ef03b3f7518e0044","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ef03b3f7518e0044"}} +{"transaction":{"duration":100.645708,"id":"ef03b3f7518e0044","name":"POST /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055623046262,"trace_id":"ef03b3f7518e00440f2afc7bf1340494","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"79","Content-Type":"text/plain; charset=utf-8","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.551875,"id":"e694d6de691ca0bb","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055623184475,"trace_id":"56bc664b9bac2db6f2b73e7a6b953d9a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-56bc664b9bac2db6f2b73e7a6b953d9a-493999e4ad6dba65-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-56bc664b9bac2db6f2b73e7a6b953d9a-493999e4ad6dba65-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"493999e4ad6dba65","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.303084,"id":"d81b1685ee8ee678","name":"DNS opbeans-python","timestamp":1646055623184871,"trace_id":"0f64d28a8fb6f8f4b385e33f082f51d1","type":"external","action":"dns","outcome":"success","parent_id":"82159b5cd8580126","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"da6da6b0078fd24e"}} +{"span":{"duration":0.149125,"id":"723af39e966af897","name":"Connect 172.23.0.11:3000","timestamp":1646055623185179,"trace_id":"0f64d28a8fb6f8f4b385e33f082f51d1","type":"external","action":"connect","outcome":"success","parent_id":"82159b5cd8580126","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"da6da6b0078fd24e"}} +{"span":{"duration":79.618459,"id":"0e2945df7c006bbf","name":"Request","timestamp":1646055624928566,"trace_id":"b4065d236e3a31271bde0895aa23df21","type":"external","action":"request","outcome":"success","parent_id":"743372a728abdc4d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b4065d236e3a3127"}} +{"span":{"duration":0.63525,"id":"91e53701a64088a6","name":"Response","timestamp":1646055625008303,"trace_id":"b4065d236e3a31271bde0895aa23df21","type":"external","action":"response","outcome":"success","parent_id":"743372a728abdc4d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b4065d236e3a3127"}} +{"span":{"duration":80.46237500000001,"id":"743372a728abdc4d","name":"GET opbeans-ruby:3000","timestamp":1646055624928477,"trace_id":"b4065d236e3a31271bde0895aa23df21","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"b4065d236e3a3127","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b4065d236e3a3127"}} +{"transaction":{"duration":80.95295800000001,"id":"b4065d236e3a3127","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055624928158,"trace_id":"b4065d236e3a31271bde0895aa23df21","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"X-Runtime":"0.070388","Content-Type":"application/json; charset=utf-8","X-Request-Id":"afee26c0-2171-4374-87f9-3ebd29c286e1","X-Xss-Protection":"1; mode=block","X-Download-Options":"noopen","Etag":"W/\"195dc75dd23c6abbf5c85d7fd3d619d1\"","Cache-Control":"max-age=0, private, must-revalidate","X-Frame-Options":"SAMEORIGIN","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.695167,"id":"d76019e905a94216","name":"SELECT FROM customers","timestamp":1646055627609319,"trace_id":"8ad18de79e9714216313e96693a3b82d","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f04716c83b9d7bd2","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f04716c83b9d7bd2"}} +{"transaction":{"duration":2.9866659999999996,"id":"f04716c83b9d7bd2","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055627609277,"trace_id":"8ad18de79e9714216313e96693a3b82d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Traceparent":"00-8ad18de79e9714216313e96693a3b82d-d71f0849efa8e8e2-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-8ad18de79e9714216313e96693a3b82d-d71f0849efa8e8e2-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d71f0849efa8e8e2","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":5784.759503,"id":"46fbdeca5ad137d5","name":"Request","timestamp":1646055623185352,"trace_id":"0f64d28a8fb6f8f4b385e33f082f51d1","type":"external","action":"request","outcome":"success","parent_id":"82159b5cd8580126","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"da6da6b0078fd24e"}} +{"span":{"duration":4.6133750000000004,"id":"1ba24fe7a373499d","name":"Response","timestamp":1646055628970251,"trace_id":"0f64d28a8fb6f8f4b385e33f082f51d1","type":"external","action":"response","outcome":"success","parent_id":"82159b5cd8580126","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"da6da6b0078fd24e"}} +{"span":{"duration":5790.083253,"id":"82159b5cd8580126","name":"GET opbeans-python:3000","timestamp":1646055623184786,"trace_id":"0f64d28a8fb6f8f4b385e33f082f51d1","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"da6da6b0078fd24e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"da6da6b0078fd24e"}} +{"transaction":{"duration":5790.585753,"id":"da6da6b0078fd24e","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055623184523,"trace_id":"0f64d28a8fb6f8f4b385e33f082f51d1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-0f64d28a8fb6f8f4b385e33f082f51d1-ddfe3e9c54983115-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-0f64d28a8fb6f8f4b385e33f082f51d1-ddfe3e9c54983115-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Length":"108580","Content-Type":"application/json","X-Frame-Options":"DENY","Vary":"Cookie","Date":"Mon, 28 Feb 2022 13:40:28 GMT","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ddfe3e9c54983115","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":5813.178044,"id":"7b80e0e9fbd39e63","name":"Request","timestamp":1646055623165633,"trace_id":"0f64d28a8fb6f8f4b385e33f082f51d1","type":"external","action":"request","outcome":"success","parent_id":"8d97f7785b86573b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0f64d28a8fb6f8f4"}} +{"span":{"duration":1.117208,"id":"25454545534bf168","name":"Response","timestamp":1646055628978864,"trace_id":"0f64d28a8fb6f8f4b385e33f082f51d1","type":"external","action":"response","outcome":"success","parent_id":"8d97f7785b86573b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0f64d28a8fb6f8f4"}} +{"span":{"duration":5814.400712000001,"id":"8d97f7785b86573b","name":"GET opbeans-ruby:3000","timestamp":1646055623165582,"trace_id":"0f64d28a8fb6f8f4b385e33f082f51d1","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"0f64d28a8fb6f8f4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0f64d28a8fb6f8f4"}} +{"transaction":{"duration":5814.703545,"id":"0f64d28a8fb6f8f4","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055623165482,"trace_id":"0f64d28a8fb6f8f4b385e33f082f51d1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.748209,"id":"e57d02923f84ac5f","name":"SELECT FROM orders","timestamp":1646055629011477,"trace_id":"0a614cd01079c97c2cd70f2a95315189","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0a614cd01079c97c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0a614cd01079c97c"}} +{"span":{"duration":1.384958,"id":"2fe2014b5fd6812c","name":"SELECT FROM products","timestamp":1646055629013361,"trace_id":"0a614cd01079c97c2cd70f2a95315189","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0a614cd01079c97c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0a614cd01079c97c"}} +{"transaction":{"duration":3.44925,"id":"0a614cd01079c97c","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055629011435,"trace_id":"0a614cd01079c97c2cd70f2a95315189","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/734","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/734"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.392917,"id":"ed69c8f6ffead766","name":"SELECT FROM customers","timestamp":1646055629038437,"trace_id":"ee685c4bb6238bbe3536d90397898a28","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ee685c4bb6238bbe","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ee685c4bb6238bbe"}} +{"transaction":{"duration":3.3015000000000003,"id":"ee685c4bb6238bbe","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055629038408,"trace_id":"ee685c4bb6238bbe3536d90397898a28","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.904583,"id":"00b2c54515a4d0b0","name":"DNS opbeans-python","timestamp":1646055629070363,"trace_id":"7851cb67a1eeacac7afed06da05bf1e6","type":"external","action":"dns","outcome":"success","parent_id":"f2e66dbaad7238eb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7851cb67a1eeacac"}} +{"span":{"duration":0.17008299999999998,"id":"b0442337e8ae9de9","name":"Connect 172.23.0.11:3000","timestamp":1646055629071273,"trace_id":"7851cb67a1eeacac7afed06da05bf1e6","type":"external","action":"connect","outcome":"success","parent_id":"f2e66dbaad7238eb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7851cb67a1eeacac"}} +{"span":{"duration":0.318833,"id":"ae5c2a14a3bcb1c5","name":"DNS opbeans-python","timestamp":1646055629627733,"trace_id":"f6c5c167252652a5885af791292f98be","type":"external","action":"dns","outcome":"success","parent_id":"c00ae5fcbd8d8cb3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f1796d0073197ce5"}} +{"span":{"duration":0.14525000000000002,"id":"b5b570631a71112c","name":"Connect 172.23.0.11:3000","timestamp":1646055629628057,"trace_id":"f6c5c167252652a5885af791292f98be","type":"external","action":"connect","outcome":"success","parent_id":"c00ae5fcbd8d8cb3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f1796d0073197ce5"}} +{"span":{"duration":0.363667,"id":"b00c0d9a605f41bc","name":"DNS opbeans-python","timestamp":1646055630038962,"trace_id":"1a4b124e9e8e0ae703f2020c05406e62","type":"external","action":"dns","outcome":"success","parent_id":"4404d070e67f4987","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"79955a09d7da4e40"}} +{"span":{"duration":0.093584,"id":"8d23e8c2430d528e","name":"Connect 172.23.0.11:3000","timestamp":1646055630039351,"trace_id":"1a4b124e9e8e0ae703f2020c05406e62","type":"external","action":"connect","outcome":"success","parent_id":"4404d070e67f4987","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"79955a09d7da4e40"}} +{"span":{"duration":0.539292,"id":"e845085f07eb6930","name":"DNS opbeans-python","timestamp":1646055633111169,"trace_id":"fc10702dc9544278de9f3463b7d00d20","type":"external","action":"dns","outcome":"success","parent_id":"b190a539b014bde1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"27fdc9589d85a069"}} +{"span":{"duration":0.38949999999999996,"id":"883dfb568db16383","name":"Connect 172.23.0.11:3000","timestamp":1646055633111720,"trace_id":"fc10702dc9544278de9f3463b7d00d20","type":"external","action":"connect","outcome":"success","parent_id":"b190a539b014bde1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"27fdc9589d85a069"}} +{"span":{"duration":3763.502086,"id":"bda528fee6e239f0","name":"Request","timestamp":1646055630039455,"trace_id":"1a4b124e9e8e0ae703f2020c05406e62","type":"external","action":"request","outcome":"success","parent_id":"4404d070e67f4987","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"79955a09d7da4e40"}} +{"span":{"duration":0.40045800000000004,"id":"f6463ead34bb473f","name":"Response","timestamp":1646055633803041,"trace_id":"1a4b124e9e8e0ae703f2020c05406e62","type":"external","action":"response","outcome":"success","parent_id":"4404d070e67f4987","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"79955a09d7da4e40"}} +{"span":{"duration":3764.64621,"id":"4404d070e67f4987","name":"GET opbeans-python:3000","timestamp":1646055630038796,"trace_id":"1a4b124e9e8e0ae703f2020c05406e62","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers/208","status_code":200}},"outcome":"success","parent_id":"79955a09d7da4e40","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"79955a09d7da4e40"}} +{"transaction":{"duration":3765.020169,"id":"79955a09d7da4e40","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055630038657,"trace_id":"1a4b124e9e8e0ae703f2020c05406e62","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/208","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/208"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-1a4b124e9e8e0ae703f2020c05406e62-7cb8e2a690ba487a-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-1a4b124e9e8e0ae703f2020c05406e62-7cb8e2a690ba487a-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"199","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:40:33 GMT","Content-Type":"application/json","Server":"gunicorn","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"7cb8e2a690ba487a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":4350.006252,"id":"5813131854bb455c","name":"Request","timestamp":1646055629628220,"trace_id":"f6c5c167252652a5885af791292f98be","type":"external","action":"request","outcome":"success","parent_id":"c00ae5fcbd8d8cb3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f1796d0073197ce5"}} +{"span":{"duration":0.172208,"id":"6dcc6897a6f96b4d","name":"Response","timestamp":1646055633978268,"trace_id":"f6c5c167252652a5885af791292f98be","type":"external","action":"response","outcome":"success","parent_id":"c00ae5fcbd8d8cb3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f1796d0073197ce5"}} +{"span":{"duration":4350.962002,"id":"c00ae5fcbd8d8cb3","name":"GET opbeans-python:3000","timestamp":1646055629627479,"trace_id":"f6c5c167252652a5885af791292f98be","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"f1796d0073197ce5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f1796d0073197ce5"}} +{"transaction":{"duration":4351.3168350000005,"id":"f1796d0073197ce5","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055629627406,"trace_id":"f6c5c167252652a5885af791292f98be","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Traceparent":"00-f6c5c167252652a5885af791292f98be-40ffe541795a9f50-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-f6c5c167252652a5885af791292f98be-40ffe541795a9f50-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Server":"gunicorn","Content-Type":"application/json","Content-Length":"123","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:40:33 GMT","X-Frame-Options":"DENY","Vary":"Cookie","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"40ffe541795a9f50","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1055.842458,"id":"f0330c6669738327","name":"Request","timestamp":1646055633112135,"trace_id":"fc10702dc9544278de9f3463b7d00d20","type":"external","action":"request","outcome":"success","parent_id":"b190a539b014bde1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"27fdc9589d85a069"}} +{"span":{"duration":9.464,"id":"cdf73b2207c47339","name":"Response","timestamp":1646055634168011,"trace_id":"fc10702dc9544278de9f3463b7d00d20","type":"external","action":"response","outcome":"success","parent_id":"b190a539b014bde1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"27fdc9589d85a069"}} +{"span":{"duration":1066.775542,"id":"b190a539b014bde1","name":"GET opbeans-python:3000","timestamp":1646055633110740,"trace_id":"fc10702dc9544278de9f3463b7d00d20","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"27fdc9589d85a069","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"27fdc9589d85a069"}} +{"transaction":{"duration":1068.388375,"id":"27fdc9589d85a069","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055633110277,"trace_id":"fc10702dc9544278de9f3463b7d00d20","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Traceparent":"00-fc10702dc9544278de9f3463b7d00d20-d39dd8bd9a0ea138-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-fc10702dc9544278de9f3463b7d00d20-d39dd8bd9a0ea138-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Length":"83","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:34 GMT","Content-Type":"application/json; charset=utf-8","Vary":"Cookie","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d39dd8bd9a0ea138","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":5309.245211,"id":"e961b6ea16eef2c2","name":"Request","timestamp":1646055629071484,"trace_id":"7851cb67a1eeacac7afed06da05bf1e6","type":"external","action":"request","outcome":"success","parent_id":"f2e66dbaad7238eb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7851cb67a1eeacac"}} +{"span":{"duration":0.445084,"id":"b1c8191f59419299","name":"Response","timestamp":1646055634380765,"trace_id":"7851cb67a1eeacac7afed06da05bf1e6","type":"external","action":"response","outcome":"success","parent_id":"f2e66dbaad7238eb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7851cb67a1eeacac"}} +{"span":{"duration":5311.022002,"id":"f2e66dbaad7238eb","name":"GET opbeans-python:3000","timestamp":1646055629070189,"trace_id":"7851cb67a1eeacac7afed06da05bf1e6","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"7851cb67a1eeacac","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7851cb67a1eeacac"}} +{"transaction":{"duration":5311.286544,"id":"7851cb67a1eeacac","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055629070060,"trace_id":"7851cb67a1eeacac7afed06da05bf1e6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","Content-Length":"108580","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:34 GMT","Vary":"Cookie","Referrer-Policy":"same-origin","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":35.260042,"id":"4ff3627c93b956b7","name":"Request","timestamp":1646055634416777,"trace_id":"11129848e2da638631ef7dc6bb31fb9f","type":"external","action":"request","outcome":"success","parent_id":"334e0e42a0c40f31","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"11129848e2da6386"}} +{"span":{"duration":0.231959,"id":"c53dd2649be1f71b","name":"Response","timestamp":1646055634452066,"trace_id":"11129848e2da638631ef7dc6bb31fb9f","type":"external","action":"response","outcome":"success","parent_id":"334e0e42a0c40f31","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"11129848e2da6386"}} +{"span":{"duration":35.559124999999995,"id":"334e0e42a0c40f31","name":"GET opbeans-ruby:3000","timestamp":1646055634416740,"trace_id":"11129848e2da638631ef7dc6bb31fb9f","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"11129848e2da6386","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"11129848e2da6386"}} +{"transaction":{"duration":36.115542,"id":"11129848e2da6386","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055634416322,"trace_id":"11129848e2da638631ef7dc6bb31fb9f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"SAMEORIGIN","X-Download-Options":"noopen","X-Request-Id":"06c3a301-be9c-4c26-a505-8df8a80e8558","X-Xss-Protection":"1; mode=block","Referrer-Policy":"strict-origin-when-cross-origin","Cache-Control":"max-age=0, private, must-revalidate","Vary":"Accept","Etag":"W/\"32a6f2ac22b5ec871f35104a05ba3759\"","X-Content-Type-Options":"nosniff","Content-Type":"application/json; charset=utf-8","X-Runtime":"0.016911","X-Permitted-Cross-Domain-Policies":"none"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6880000000000001,"id":"70f448af2e8b9387","name":"SELECT FROM customers","timestamp":1646055634471337,"trace_id":"a5707fd2bd45077aa0d7d77640e988b1","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a5707fd2bd45077a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a5707fd2bd45077a"}} +{"transaction":{"duration":4.760292,"id":"a5707fd2bd45077a","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055634471210,"trace_id":"a5707fd2bd45077aa0d7d77640e988b1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.7587079999999999,"id":"72c23fb5a4f20bd9","name":"SELECT FROM product_types","timestamp":1646055634495544,"trace_id":"66ea6b8ea34ff58de6ccb8f0f748a644","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"66ea6b8ea34ff58d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"66ea6b8ea34ff58d"}} +{"transaction":{"duration":0.909834,"id":"66ea6b8ea34ff58d","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055634495504,"trace_id":"66ea6b8ea34ff58de6ccb8f0f748a644","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5674159999999999,"id":"6509a35dd5601455","name":"SELECT FROM customers","timestamp":1646055634510793,"trace_id":"582d013d2393d12ace376a71b80cf696","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"702a2020030cc464","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"702a2020030cc464"}} +{"transaction":{"duration":0.6956669999999999,"id":"702a2020030cc464","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055634510765,"trace_id":"582d013d2393d12ace376a71b80cf696","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/532","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/532"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-582d013d2393d12ace376a71b80cf696-c0543a0059f371df-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-582d013d2393d12ace376a71b80cf696-c0543a0059f371df-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c0543a0059f371df","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.776958,"id":"cd83b214f03fe4fa","name":"DNS opbeans-python","timestamp":1646055634514794,"trace_id":"0448562d75cd6b2c8a532a907b36dbc6","type":"external","action":"dns","outcome":"success","parent_id":"2b62e6861e962aa9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0448562d75cd6b2c"}} +{"span":{"duration":0.25658400000000003,"id":"69b8a78fddc2b372","name":"Connect 172.23.0.11:3000","timestamp":1646055634515576,"trace_id":"0448562d75cd6b2c8a532a907b36dbc6","type":"external","action":"connect","outcome":"success","parent_id":"2b62e6861e962aa9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0448562d75cd6b2c"}} +{"span":{"duration":15.184542,"id":"4603b6e440217881","name":"Request","timestamp":1646055634502232,"trace_id":"582d013d2393d12ace376a71b80cf696","type":"external","action":"request","outcome":"success","parent_id":"c00a52a0b764579f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b3b299b7c4e97dfe"}} +{"span":{"duration":0.093833,"id":"373468fc6497d6cf","name":"Response","timestamp":1646055634517442,"trace_id":"582d013d2393d12ace376a71b80cf696","type":"external","action":"response","outcome":"success","parent_id":"c00a52a0b764579f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b3b299b7c4e97dfe"}} +{"span":{"duration":15.330541,"id":"c00a52a0b764579f","name":"GET opbeans-ruby:3000","timestamp":1646055634502206,"trace_id":"582d013d2393d12ace376a71b80cf696","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/532","status_code":200}},"outcome":"success","parent_id":"b3b299b7c4e97dfe","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b3b299b7c4e97dfe"}} +{"transaction":{"duration":15.669875,"id":"b3b299b7c4e97dfe","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055634502107,"trace_id":"582d013d2393d12ace376a71b80cf696","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/532","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/532"},"headers":{"Connection":"keep-alive","Traceparent":"00-582d013d2393d12ace376a71b80cf696-155d4efe4882bbff-01","Elastic-Apm-Traceparent":"00-582d013d2393d12ace376a71b80cf696-155d4efe4882bbff-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"155d4efe4882bbff","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":138.076042,"id":"fd62732d24cbf285","name":"Request","timestamp":1646055634515859,"trace_id":"0448562d75cd6b2c8a532a907b36dbc6","type":"external","action":"request","outcome":"success","parent_id":"2b62e6861e962aa9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0448562d75cd6b2c"}} +{"span":{"duration":0.5721670000000001,"id":"e4b9727b3cbd7a9f","name":"Response","timestamp":1646055634653985,"trace_id":"0448562d75cd6b2c8a532a907b36dbc6","type":"external","action":"response","outcome":"success","parent_id":"2b62e6861e962aa9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0448562d75cd6b2c"}} +{"span":{"duration":139.8115,"id":"2b62e6861e962aa9","name":"GET opbeans-python:3000","timestamp":1646055634514747,"trace_id":"0448562d75cd6b2c8a532a907b36dbc6","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"0448562d75cd6b2c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0448562d75cd6b2c"}} +{"transaction":{"duration":140.4585,"id":"0448562d75cd6b2c","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055634514569,"trace_id":"0448562d75cd6b2c8a532a907b36dbc6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"203686","X-Content-Type-Options":"nosniff","Server":"gunicorn","Vary":"Cookie","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:40:34 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.484125,"id":"89cf33ece1a7559c","name":"DNS opbeans-python","timestamp":1646055634677331,"trace_id":"ac640c66381ad38a10e439ef0b221269","type":"external","action":"dns","outcome":"success","parent_id":"5135314cf9fc9065","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ac640c66381ad38a"}} +{"span":{"duration":0.136667,"id":"0c0ed2f0b95fcfac","name":"Connect 172.23.0.11:3000","timestamp":1646055634677820,"trace_id":"ac640c66381ad38a10e439ef0b221269","type":"external","action":"connect","outcome":"success","parent_id":"5135314cf9fc9065","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ac640c66381ad38a"}} +{"span":{"duration":25.568709,"id":"f0cb699f24012f8c","name":"Request","timestamp":1646055634677979,"trace_id":"ac640c66381ad38a10e439ef0b221269","type":"external","action":"request","outcome":"success","parent_id":"5135314cf9fc9065","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ac640c66381ad38a"}} +{"span":{"duration":2.38675,"id":"40d44aa5ef1df7a3","name":"Response","timestamp":1646055634703676,"trace_id":"ac640c66381ad38a10e439ef0b221269","type":"external","action":"response","outcome":"success","parent_id":"5135314cf9fc9065","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ac640c66381ad38a"}} +{"span":{"duration":28.778624999999998,"id":"5135314cf9fc9065","name":"GET opbeans-python:3000","timestamp":1646055634677287,"trace_id":"ac640c66381ad38a10e439ef0b221269","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"ac640c66381ad38a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ac640c66381ad38a"}} +{"transaction":{"duration":29.63725,"id":"ac640c66381ad38a","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055634677172,"trace_id":"ac640c66381ad38a10e439ef0b221269","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:34 GMT","X-Frame-Options":"DENY","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Content-Type":"application/json","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.380584,"id":"6ad03547f8aee99c","name":"DNS opbeans-python","timestamp":1646055634723494,"trace_id":"29d3914196a5959586717120257195c7","type":"external","action":"dns","outcome":"success","parent_id":"b06484da31980858","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"29d3914196a59595"}} +{"span":{"duration":0.14425000000000002,"id":"3d33e13a13304244","name":"Connect 172.23.0.11:3000","timestamp":1646055634723879,"trace_id":"29d3914196a5959586717120257195c7","type":"external","action":"connect","outcome":"success","parent_id":"b06484da31980858","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"29d3914196a59595"}} +{"span":{"duration":0.462209,"id":"1505b729439ebfe2","name":"SELECT FROM products","timestamp":1646055634741396,"trace_id":"29d3914196a5959586717120257195c7","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"73660e60d2d10f18","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"73660e60d2d10f18"}} +{"transaction":{"duration":0.642792,"id":"73660e60d2d10f18","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055634741377,"trace_id":"29d3914196a5959586717120257195c7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-29d3914196a5959586717120257195c7-7e07254f95ab32ae-01","Elastic-Apm-Traceparent":"00-29d3914196a5959586717120257195c7-7e07254f95ab32ae-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"7e07254f95ab32ae","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":26.051541,"id":"b5fe5b04040fbed4","name":"Request","timestamp":1646055634724039,"trace_id":"29d3914196a5959586717120257195c7","type":"external","action":"request","outcome":"success","parent_id":"b06484da31980858","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"29d3914196a59595"}} +{"span":{"duration":0.252625,"id":"15feb2efe953380f","name":"Response","timestamp":1646055634750124,"trace_id":"29d3914196a5959586717120257195c7","type":"external","action":"response","outcome":"success","parent_id":"b06484da31980858","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"29d3914196a59595"}} +{"span":{"duration":26.940334,"id":"b06484da31980858","name":"GET opbeans-python:3000","timestamp":1646055634723437,"trace_id":"29d3914196a5959586717120257195c7","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"29d3914196a59595","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"29d3914196a59595"}} +{"transaction":{"duration":27.433625,"id":"29d3914196a59595","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055634723308,"trace_id":"29d3914196a5959586717120257195c7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:34 GMT","Content-Type":"application/json; charset=utf-8","Content-Length":"2134","Vary":"Cookie","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.528167,"id":"55b3dd4eaadc07a8","name":"DNS opbeans-node","timestamp":1646055634770305,"trace_id":"6634337d506a6af4f24df02d402596fe","type":"external","action":"dns","outcome":"success","parent_id":"d9ef89af46618d80","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"facfc7cdedf0b989"}} +{"span":{"duration":0.403917,"id":"91d4ccb066779747","name":"Connect 172.23.0.10:3000","timestamp":1646055634771840,"trace_id":"6634337d506a6af4f24df02d402596fe","type":"external","action":"connect","outcome":"success","parent_id":"d9ef89af46618d80","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"facfc7cdedf0b989"}} +{"span":{"duration":16.349584,"id":"ec518daf77319e46","name":"Request","timestamp":1646055634772257,"trace_id":"6634337d506a6af4f24df02d402596fe","type":"external","action":"request","outcome":"success","parent_id":"d9ef89af46618d80","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"facfc7cdedf0b989"}} +{"span":{"duration":0.20675000000000002,"id":"606b81af4ac2ada6","name":"Response","timestamp":1646055634788631,"trace_id":"6634337d506a6af4f24df02d402596fe","type":"external","action":"response","outcome":"success","parent_id":"d9ef89af46618d80","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"facfc7cdedf0b989"}} +{"span":{"duration":18.6405,"id":"d9ef89af46618d80","name":"GET opbeans-node:3000","timestamp":1646055634770198,"trace_id":"6634337d506a6af4f24df02d402596fe","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/928","status_code":200}},"outcome":"success","parent_id":"facfc7cdedf0b989","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"facfc7cdedf0b989"}} +{"transaction":{"duration":18.909125,"id":"facfc7cdedf0b989","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055634770121,"trace_id":"6634337d506a6af4f24df02d402596fe","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/928","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/928"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-6634337d506a6af4f24df02d402596fe-9f425b642da13cc5-01","Traceparent":"00-6634337d506a6af4f24df02d402596fe-9f425b642da13cc5-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Length":"181","Etag":"W/\"b5-wlHWSpsgyrF+Kq8GyYatcMXvymo\"","Date":"Mon, 28 Feb 2022 13:40:34 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"9f425b642da13cc5","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":19.223541,"id":"1bb2c6f7c2e63b43","name":"Request","timestamp":1646055634769913,"trace_id":"6634337d506a6af4f24df02d402596fe","type":"external","action":"request","outcome":"success","parent_id":"9f425b642da13cc5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6634337d506a6af4"}} +{"span":{"duration":0.031208999999999997,"id":"4542b3355bbf6d90","name":"Response","timestamp":1646055634789142,"trace_id":"6634337d506a6af4f24df02d402596fe","type":"external","action":"response","outcome":"success","parent_id":"9f425b642da13cc5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6634337d506a6af4"}} +{"span":{"duration":19.279042,"id":"9f425b642da13cc5","name":"GET opbeans-go:3000","timestamp":1646055634769894,"trace_id":"6634337d506a6af4f24df02d402596fe","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/928","status_code":200}},"outcome":"success","parent_id":"6634337d506a6af4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6634337d506a6af4"}} +{"transaction":{"duration":19.412417,"id":"6634337d506a6af4","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055634769828,"trace_id":"6634337d506a6af4f24df02d402596fe","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/928","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/928"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Length":"181","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:34 GMT","Etag":"W/\"b5-wlHWSpsgyrF+Kq8GyYatcMXvymo\""},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.426416,"id":"84b3ea6ccec511ed","name":"SELECT FROM customers","timestamp":1646055634811510,"trace_id":"41f47d7598f3320673272e9d4cbf1a38","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"41f47d7598f33206","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"41f47d7598f33206"}} +{"transaction":{"duration":11.472249999999999,"id":"41f47d7598f33206","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055634811489,"trace_id":"41f47d7598f3320673272e9d4cbf1a38","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","search":"limit=100","full":"http://opbeans-go:3000/api/products/1/customers?limit=100"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.277834,"id":"655c3a7195eac37c","name":"SELECT FROM product_types","timestamp":1646055634843779,"trace_id":"0dc79fc4fc8aefd24fac09b74cd84c52","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0dc79fc4fc8aefd2","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0dc79fc4fc8aefd2"}} +{"transaction":{"duration":0.396459,"id":"0dc79fc4fc8aefd2","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055634843762,"trace_id":"0dc79fc4fc8aefd24fac09b74cd84c52","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.597583,"id":"982e3fc7a84a51fd","name":"DNS opbeans-python","timestamp":1646055634864349,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"external","action":"dns","outcome":"success","parent_id":"93bdc1dde8d0a1ff","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"299b616201464e98"}} +{"span":{"duration":0.093584,"id":"d609c03776d0eb1c","name":"Connect 172.23.0.11:3000","timestamp":1646055634864951,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"external","action":"connect","outcome":"success","parent_id":"93bdc1dde8d0a1ff","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"299b616201464e98"}} +{"span":{"duration":0.46799999999999997,"id":"bb73104cf4493bfb","name":"DNS opbeans-python","timestamp":1646055634883443,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"external","action":"dns","outcome":"success","parent_id":"f5a8e9ef3acdef6d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8de4b6ed42e7fd9b"}} +{"span":{"duration":0.09624999999999999,"id":"8c81d3be57903411","name":"Connect 172.23.0.11:3000","timestamp":1646055634883916,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"external","action":"connect","outcome":"success","parent_id":"f5a8e9ef3acdef6d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8de4b6ed42e7fd9b"}} +{"span":{"duration":15.151542000000001,"id":"b6c005263623a1fa","name":"Request","timestamp":1646055634884025,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"external","action":"request","outcome":"success","parent_id":"f5a8e9ef3acdef6d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8de4b6ed42e7fd9b"}} +{"span":{"duration":0.304292,"id":"7f3ab41e3178f085","name":"Response","timestamp":1646055634899211,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"external","action":"response","outcome":"success","parent_id":"f5a8e9ef3acdef6d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8de4b6ed42e7fd9b"}} +{"span":{"duration":16.111167,"id":"f5a8e9ef3acdef6d","name":"GET opbeans-python:3000","timestamp":1646055634883406,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"8de4b6ed42e7fd9b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8de4b6ed42e7fd9b"}} +{"transaction":{"duration":16.473625,"id":"8de4b6ed42e7fd9b","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055634883293,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Connection":"keep-alive","Traceparent":"00-5ec3f1a42dd15d2327009359d96be412-6e0729c2ab428ad6-01","Elastic-Apm-Traceparent":"00-5ec3f1a42dd15d2327009359d96be412-6e0729c2ab428ad6-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Server":"gunicorn","Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"259","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:40:34 GMT","Vary":"Cookie","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6e0729c2ab428ad6","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":42.132875,"id":"9ed628ffc6c76ead","name":"Request","timestamp":1646055634865054,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"external","action":"request","outcome":"success","parent_id":"93bdc1dde8d0a1ff","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"299b616201464e98"}} +{"span":{"duration":0.214708,"id":"826d7e8af92aecf9","name":"Response","timestamp":1646055634907224,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"external","action":"response","outcome":"success","parent_id":"93bdc1dde8d0a1ff","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"299b616201464e98"}} +{"span":{"duration":43.145208,"id":"93bdc1dde8d0a1ff","name":"GET opbeans-python:3000","timestamp":1646055634864294,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"299b616201464e98","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"299b616201464e98"}} +{"transaction":{"duration":43.507875,"id":"299b616201464e98","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055634864209,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Traceparent":"00-5ec3f1a42dd15d2327009359d96be412-b07ba2811938e6ea-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-5ec3f1a42dd15d2327009359d96be412-b07ba2811938e6ea-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:34 GMT","Content-Type":"application/json","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","X-Frame-Options":"DENY","Content-Length":"259","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b07ba2811938e6ea","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":43.785708,"id":"807527dadf1a43b5","name":"Request","timestamp":1646055634863980,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"external","action":"request","outcome":"success","parent_id":"b07ba2811938e6ea","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5ec3f1a42dd15d23"}} +{"span":{"duration":0.070958,"id":"0dff008b137b6e9d","name":"Response","timestamp":1646055634907773,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"external","action":"response","outcome":"success","parent_id":"b07ba2811938e6ea","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5ec3f1a42dd15d23"}} +{"span":{"duration":43.883291,"id":"b07ba2811938e6ea","name":"GET opbeans-go:3000","timestamp":1646055634863961,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"5ec3f1a42dd15d23","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5ec3f1a42dd15d23"}} +{"transaction":{"duration":44.068208,"id":"5ec3f1a42dd15d23","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055634863861,"trace_id":"5ec3f1a42dd15d2327009359d96be412","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"259","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:40:34 GMT","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":20.289708,"id":"005606c3e9e4a130","name":"Request","timestamp":1646055634926028,"trace_id":"d153485d930eed87a126765dfe561f9e","type":"external","action":"request","outcome":"success","parent_id":"36343d6870a77e60","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d153485d930eed87"}} +{"span":{"duration":0.107,"id":"29a18ecee048b752","name":"Response","timestamp":1646055634946351,"trace_id":"d153485d930eed87a126765dfe561f9e","type":"external","action":"response","outcome":"success","parent_id":"36343d6870a77e60","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d153485d930eed87"}} +{"span":{"duration":20.454625,"id":"36343d6870a77e60","name":"GET opbeans-ruby:3000","timestamp":1646055634926007,"trace_id":"d153485d930eed87a126765dfe561f9e","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"d153485d930eed87","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d153485d930eed87"}} +{"transaction":{"duration":20.869875,"id":"d153485d930eed87","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055634925877,"trace_id":"d153485d930eed87a126765dfe561f9e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Request-Id":"501bdb97-8fff-4976-8552-815cc99b3db1","X-Download-Options":"noopen","Referrer-Policy":"strict-origin-when-cross-origin","Content-Type":"application/json; charset=utf-8","Vary":"Accept","X-Xss-Protection":"1; mode=block","X-Content-Type-Options":"nosniff","Etag":"W/\"32a6f2ac22b5ec871f35104a05ba3759\"","X-Permitted-Cross-Domain-Policies":"none","Cache-Control":"max-age=0, private, must-revalidate","X-Runtime":"0.012735","X-Frame-Options":"SAMEORIGIN"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.9772080000000001,"id":"6c35f95b1f1b288b","name":"SELECT FROM customers","timestamp":1646055634966376,"trace_id":"b4e2ff9716081680d51545bfc6c134a5","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b4e2ff9716081680","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b4e2ff9716081680"}} +{"transaction":{"duration":2.3757919999999997,"id":"b4e2ff9716081680","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055634966344,"trace_id":"b4e2ff9716081680d51545bfc6c134a5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.573291,"id":"7d862768d3ce69bb","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055634986942,"trace_id":"7d862768d3ce69bbd6c83c3b960bb16f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.24354199999999998,"id":"283e5c0b41d38d7c","name":"SELECT FROM customers","timestamp":1646055635005777,"trace_id":"10b6c48b97701353455332ebf60cb3d0","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ada9cc22b154c15f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ada9cc22b154c15f"}} +{"span":{"duration":2.194625,"id":"adb4fd0bfda49975","name":"Request","timestamp":1646055635005686,"trace_id":"10b6c48b97701353455332ebf60cb3d0","type":"external","action":"request","outcome":"success","parent_id":"0f638a4c1b047aa2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"10b6c48b97701353"}} +{"transaction":{"duration":2.385,"id":"ada9cc22b154c15f","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055635005764,"trace_id":"10b6c48b97701353455332ebf60cb3d0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-10b6c48b97701353455332ebf60cb3d0-0f638a4c1b047aa2-01","Traceparent":"00-10b6c48b97701353455332ebf60cb3d0-0f638a4c1b047aa2-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"0f638a4c1b047aa2","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.399417,"id":"7e2a8169ba4e0b79","name":"Response","timestamp":1646055635007883,"trace_id":"10b6c48b97701353455332ebf60cb3d0","type":"external","action":"response","outcome":"success","parent_id":"0f638a4c1b047aa2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"10b6c48b97701353"}} +{"span":{"duration":2.641417,"id":"0f638a4c1b047aa2","name":"GET opbeans-go:3000","timestamp":1646055635005642,"trace_id":"10b6c48b97701353455332ebf60cb3d0","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"10b6c48b97701353","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"10b6c48b97701353"}} +{"transaction":{"duration":2.932833,"id":"10b6c48b97701353","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055635005385,"trace_id":"10b6c48b97701353455332ebf60cb3d0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:35 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":40.478792,"id":"a101ae0571653495","name":"Request","timestamp":1646055635037039,"trace_id":"1fd5dbe7f23869a11e2059e2ad56428a","type":"external","action":"request","outcome":"success","parent_id":"b423c20c258a5896","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1fd5dbe7f23869a1"}} +{"span":{"duration":0.558,"id":"97a9855b20f9dc20","name":"Response","timestamp":1646055635077542,"trace_id":"1fd5dbe7f23869a11e2059e2ad56428a","type":"external","action":"response","outcome":"success","parent_id":"b423c20c258a5896","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1fd5dbe7f23869a1"}} +{"span":{"duration":41.079126,"id":"b423c20c258a5896","name":"GET opbeans-node:3000","timestamp":1646055635037022,"trace_id":"1fd5dbe7f23869a11e2059e2ad56428a","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products","status_code":200}},"outcome":"success","parent_id":"1fd5dbe7f23869a1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1fd5dbe7f23869a1"}} +{"transaction":{"duration":41.241667,"id":"1fd5dbe7f23869a1","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055635036960,"trace_id":"1fd5dbe7f23869a11e2059e2ad56428a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","Date":"Mon, 28 Feb 2022 13:40:35 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"1023"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.291583,"id":"307f844cc3fa8604","name":"SELECT FROM orders","timestamp":1646055635116818,"trace_id":"aa88685ba5da0c8c0f1be00838029f21","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"aa88685ba5da0c8c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"aa88685ba5da0c8c"}} +{"transaction":{"duration":3.28725,"id":"aa88685ba5da0c8c","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055635116787,"trace_id":"aa88685ba5da0c8c0f1be00838029f21","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":1.809917,"id":"434604b4d605fcb7","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055635120504,"trace_id":"dbaa8695c143b5e58b0da2cd76b808b0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"http.rb/5.0.4","Accept-Encoding":"gzip","Elastic-Apm-Traceparent":"00-dbaa8695c143b5e58b0da2cd76b808b0-1d66521ed6810ac0-01","Traceparent":"00-dbaa8695c143b5e58b0da2cd76b808b0-1d66521ed6810ac0-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.12, 172.23.0.9"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"1d66521ed6810ac0","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.9652910000000001,"id":"20d7ea6eeed5aaf3","name":"Request","timestamp":1646055635120425,"trace_id":"dbaa8695c143b5e58b0da2cd76b808b0","type":"external","action":"request","outcome":"success","parent_id":"1d66521ed6810ac0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e7c5b1a78075a806"}} +{"span":{"duration":0.030000000000000002,"id":"c5e31a51aa4b12a1","name":"Response","timestamp":1646055635122392,"trace_id":"dbaa8695c143b5e58b0da2cd76b808b0","type":"external","action":"response","outcome":"success","parent_id":"1d66521ed6810ac0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e7c5b1a78075a806"}} +{"span":{"duration":2.003667,"id":"1d66521ed6810ac0","name":"GET opbeans-go:3000","timestamp":1646055635120419,"trace_id":"dbaa8695c143b5e58b0da2cd76b808b0","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"e7c5b1a78075a806","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e7c5b1a78075a806"}} +{"transaction":{"duration":2.0531669999999997,"id":"e7c5b1a78075a806","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055635120389,"trace_id":"dbaa8695c143b5e58b0da2cd76b808b0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"http.rb/5.0.4","Elastic-Apm-Traceparent":"00-dbaa8695c143b5e58b0da2cd76b808b0-9dd70f5090952a55-01","Traceparent":"00-dbaa8695c143b5e58b0da2cd76b808b0-9dd70f5090952a55-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.12","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:35 GMT","Content-Length":"110","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"9dd70f5090952a55","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.133292,"id":"b713cb9fc2cf2740","name":"Request","timestamp":1646055635120350,"trace_id":"dbaa8695c143b5e58b0da2cd76b808b0","type":"external","action":"request","outcome":"success","parent_id":"9dd70f5090952a55","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f84bfad11205f27c"}} +{"span":{"duration":0.016333,"id":"73985aa7d42a705e","name":"Response","timestamp":1646055635122484,"trace_id":"dbaa8695c143b5e58b0da2cd76b808b0","type":"external","action":"response","outcome":"success","parent_id":"9dd70f5090952a55","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f84bfad11205f27c"}} +{"span":{"duration":2.1665,"id":"9dd70f5090952a55","name":"GET opbeans-go:3000","timestamp":1646055635120334,"trace_id":"dbaa8695c143b5e58b0da2cd76b808b0","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"f84bfad11205f27c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f84bfad11205f27c"}} +{"transaction":{"duration":2.214625,"id":"f84bfad11205f27c","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055635120301,"trace_id":"dbaa8695c143b5e58b0da2cd76b808b0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-dbaa8695c143b5e58b0da2cd76b808b0-f6afd044b2105795-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-dbaa8695c143b5e58b0da2cd76b808b0-f6afd044b2105795-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Length":"110","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:35 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f6afd044b2105795","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":28.621750000000002,"id":"5c805f67f2470fca","name":"Request","timestamp":1646055635101135,"trace_id":"dbaa8695c143b5e58b0da2cd76b808b0","type":"external","action":"request","outcome":"success","parent_id":"546edc5882f8b05e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dbaa8695c143b5e5"}} +{"span":{"duration":2.098958,"id":"0b81e2dc5c4a2dec","name":"Response","timestamp":1646055635129776,"trace_id":"dbaa8695c143b5e58b0da2cd76b808b0","type":"external","action":"response","outcome":"success","parent_id":"546edc5882f8b05e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dbaa8695c143b5e5"}} +{"span":{"duration":30.771834000000002,"id":"546edc5882f8b05e","name":"GET opbeans-ruby:3000","timestamp":1646055635101105,"trace_id":"dbaa8695c143b5e58b0da2cd76b808b0","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"dbaa8695c143b5e5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dbaa8695c143b5e5"}} +{"transaction":{"duration":31.191209,"id":"dbaa8695c143b5e5","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055635100950,"trace_id":"dbaa8695c143b5e58b0da2cd76b808b0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.40004199999999995,"id":"0d78004c6b7d14f9","name":"SELECT FROM orders","timestamp":1646055635150060,"trace_id":"e245ead36dd5d8c9b71f40571f9f705d","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e245ead36dd5d8c9","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e245ead36dd5d8c9"}} +{"span":{"duration":0.555666,"id":"4d53531d0690a957","name":"SELECT FROM products","timestamp":1646055635150489,"trace_id":"e245ead36dd5d8c9b71f40571f9f705d","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e245ead36dd5d8c9","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e245ead36dd5d8c9"}} +{"transaction":{"duration":1.1177920000000001,"id":"e245ead36dd5d8c9","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055635150043,"trace_id":"e245ead36dd5d8c9b71f40571f9f705d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/670","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/670"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":31.962249999999997,"id":"d733779a7f949990","name":"Request","timestamp":1646055635169794,"trace_id":"926819165f09095403335d9d16f0d973","type":"external","action":"request","outcome":"success","parent_id":"7b7e81517cadd194","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"926819165f090954"}} +{"span":{"duration":0.152542,"id":"d830aa13d1c65f1e","name":"Response","timestamp":1646055635201781,"trace_id":"926819165f09095403335d9d16f0d973","type":"external","action":"response","outcome":"success","parent_id":"7b7e81517cadd194","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"926819165f090954"}} +{"span":{"duration":32.157625,"id":"7b7e81517cadd194","name":"GET opbeans-ruby:3000","timestamp":1646055635169776,"trace_id":"926819165f09095403335d9d16f0d973","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/2/customers","status_code":200}},"outcome":"success","parent_id":"926819165f090954","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"926819165f090954"}} +{"transaction":{"duration":34.716208,"id":"926819165f090954","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055635169717,"trace_id":"926819165f09095403335d9d16f0d973","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Permitted-Cross-Domain-Policies":"none","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","Referrer-Policy":"strict-origin-when-cross-origin","Vary":"Accept","X-Request-Id":"fc5e99ac-c673-4fc3-8c63-21d318d81fa1","X-Xss-Protection":"1; mode=block","X-Download-Options":"noopen","X-Runtime":"0.024356","Etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","Cache-Control":"max-age=0, private, must-revalidate"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.32504099999999997,"id":"8cff1192e6dabf43","name":"SELECT FROM customers","timestamp":1646055635221169,"trace_id":"45cba8215cb241bf3eaa794470d771df","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"45cba8215cb241bf","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"45cba8215cb241bf"}} +{"transaction":{"duration":0.416291,"id":"45cba8215cb241bf","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055635221151,"trace_id":"45cba8215cb241bf3eaa794470d771df","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/866","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/866"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.33225000000000005,"id":"b940e771fc096c66","name":"SELECT FROM product_types","timestamp":1646055635240684,"trace_id":"b410f6a87c22b41b9897eca270898931","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b410f6a87c22b41b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b410f6a87c22b41b"}} +{"transaction":{"duration":0.576375,"id":"b410f6a87c22b41b","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055635240661,"trace_id":"b410f6a87c22b41b9897eca270898931","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.431209,"id":"12b4f73d7b3fb96b","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055635258980,"trace_id":"12b4f73d7b3fb96b8a35dfe1c338e1cf","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.267625,"id":"b64373c9e25e9d77","name":"DNS opbeans-python","timestamp":1646055635277930,"trace_id":"20f0d678a48776c75c20e585487c4d7b","type":"external","action":"dns","outcome":"success","parent_id":"3f41085ff30dd998","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"20f0d678a48776c7"}} +{"span":{"duration":0.15625,"id":"93470eef6ae30ed2","name":"Connect 172.23.0.11:3000","timestamp":1646055635278202,"trace_id":"20f0d678a48776c75c20e585487c4d7b","type":"external","action":"connect","outcome":"success","parent_id":"3f41085ff30dd998","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"20f0d678a48776c7"}} +{"span":{"duration":98.12670800000001,"id":"64684d899ab37d65","name":"Request","timestamp":1646055635278385,"trace_id":"20f0d678a48776c75c20e585487c4d7b","type":"external","action":"request","outcome":"success","parent_id":"3f41085ff30dd998","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"20f0d678a48776c7"}} +{"span":{"duration":0.8759170000000001,"id":"b358c5a10de2ff67","name":"Response","timestamp":1646055635376564,"trace_id":"20f0d678a48776c75c20e585487c4d7b","type":"external","action":"response","outcome":"success","parent_id":"3f41085ff30dd998","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"20f0d678a48776c7"}} +{"span":{"duration":99.574458,"id":"3f41085ff30dd998","name":"GET opbeans-python:3000","timestamp":1646055635277868,"trace_id":"20f0d678a48776c75c20e585487c4d7b","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/2/customers?limit=60","status_code":200}},"outcome":"success","parent_id":"20f0d678a48776c7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"20f0d678a48776c7"}} +{"transaction":{"duration":100.088041,"id":"20f0d678a48776c7","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055635277554,"trace_id":"20f0d678a48776c75c20e585487c4d7b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","search":"limit=60","full":"http://opbeans-go:3000/api/products/2/customers?limit=60"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:35 GMT","Server":"gunicorn","Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"203686","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.412917,"id":"5349d5fe25173511","name":"SELECT FROM orders","timestamp":1646055635402508,"trace_id":"15fab1b6d361c850a4b3e0af31a91cde","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"15fab1b6d361c850","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"15fab1b6d361c850"}} +{"transaction":{"duration":3.777083,"id":"15fab1b6d361c850","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055635402479,"trace_id":"15fab1b6d361c850a4b3e0af31a91cde","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.388916,"id":"a60a6d8a6ea851ab","name":"SELECT FROM product_types","timestamp":1646055635431383,"trace_id":"b0c055ce23cdb54b8de2b44c2dd66749","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"fedf2398020d5bfd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"fedf2398020d5bfd"}} +{"transaction":{"duration":2.7729999999999997,"id":"fedf2398020d5bfd","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055635431372,"trace_id":"b0c055ce23cdb54b8de2b44c2dd66749","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Traceparent":"00-b0c055ce23cdb54b8de2b44c2dd66749-45c11168c6d91e5b-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-b0c055ce23cdb54b8de2b44c2dd66749-45c11168c6d91e5b-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"45c11168c6d91e5b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.971959,"id":"9b7a5442f2e38206","name":"Request","timestamp":1646055635431289,"trace_id":"b0c055ce23cdb54b8de2b44c2dd66749","type":"external","action":"request","outcome":"success","parent_id":"45c11168c6d91e5b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b0c055ce23cdb54b"}} +{"span":{"duration":0.0505,"id":"322e473cf56257ac","name":"Response","timestamp":1646055635434273,"trace_id":"b0c055ce23cdb54b8de2b44c2dd66749","type":"external","action":"response","outcome":"success","parent_id":"45c11168c6d91e5b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b0c055ce23cdb54b"}} +{"span":{"duration":3.054958,"id":"45c11168c6d91e5b","name":"GET opbeans-go:3000","timestamp":1646055635431269,"trace_id":"b0c055ce23cdb54b8de2b44c2dd66749","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"b0c055ce23cdb54b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b0c055ce23cdb54b"}} +{"transaction":{"duration":3.321458,"id":"b0c055ce23cdb54b","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055635431088,"trace_id":"b0c055ce23cdb54b8de2b44c2dd66749","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:35 GMT","Content-Length":"37","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.297667,"id":"cc6960a385d8aebc","name":"SELECT FROM customers","timestamp":1646055635452527,"trace_id":"f600e30d287ead17bcc4eea453d6eab2","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f600e30d287ead17","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f600e30d287ead17"}} +{"transaction":{"duration":2.048958,"id":"f600e30d287ead17","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055635452503,"trace_id":"f600e30d287ead17bcc4eea453d6eab2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.305166,"id":"f5652a5092b60bea","name":"SELECT FROM product_types","timestamp":1646055635475434,"trace_id":"65667e108e3335bdc9e8aafe30647a66","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"65667e108e3335bd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"65667e108e3335bd"}} +{"transaction":{"duration":0.402417,"id":"65667e108e3335bd","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055635475421,"trace_id":"65667e108e3335bdc9e8aafe30647a66","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.1635,"id":"69595acc6981dfcf","name":"SELECT FROM customers","timestamp":1646055635496529,"trace_id":"d285e5f55976ba7dad6627e31882f89a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d285e5f55976ba7d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d285e5f55976ba7d"}} +{"transaction":{"duration":3.813334,"id":"d285e5f55976ba7d","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055635496178,"trace_id":"d285e5f55976ba7dad6627e31882f89a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/60","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/60"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.732167,"id":"b457f795fd40751a","name":"SELECT FROM customers","timestamp":1646055635523773,"trace_id":"f6e055c6e592dd6fd73d8cb1896f88f3","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"61c33344889d81e6","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"61c33344889d81e6"}} +{"transaction":{"duration":2.516834,"id":"61c33344889d81e6","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055635523755,"trace_id":"f6e055c6e592dd6fd73d8cb1896f88f3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-f6e055c6e592dd6fd73d8cb1896f88f3-db467795cae53fa0-01","Traceparent":"00-f6e055c6e592dd6fd73d8cb1896f88f3-db467795cae53fa0-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"db467795cae53fa0","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.9009169999999997,"id":"ee3306fd6ceb5b3e","name":"Request","timestamp":1646055635523458,"trace_id":"f6e055c6e592dd6fd73d8cb1896f88f3","type":"external","action":"request","outcome":"success","parent_id":"db467795cae53fa0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f6e055c6e592dd6f"}} +{"span":{"duration":0.35762499999999997,"id":"06b43516a663dcbf","name":"Response","timestamp":1646055635526361,"trace_id":"f6e055c6e592dd6fd73d8cb1896f88f3","type":"external","action":"response","outcome":"success","parent_id":"db467795cae53fa0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f6e055c6e592dd6f"}} +{"span":{"duration":3.3085419999999996,"id":"db467795cae53fa0","name":"GET opbeans-go:3000","timestamp":1646055635523412,"trace_id":"f6e055c6e592dd6fd73d8cb1896f88f3","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"f6e055c6e592dd6f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f6e055c6e592dd6f"}} +{"transaction":{"duration":3.475959,"id":"f6e055c6e592dd6f","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055635523286,"trace_id":"f6e055c6e592dd6fd73d8cb1896f88f3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:35 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5573750000000001,"id":"16da3c207b4c46dc","name":"DNS opbeans-python","timestamp":1646055635546343,"trace_id":"7e7d4cac68bce7b20834fa8022c7ca8d","type":"external","action":"dns","outcome":"success","parent_id":"df741c651a9362df","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7e7d4cac68bce7b2"}} +{"span":{"duration":0.138416,"id":"dd9d6d722c30e6a6","name":"Connect 172.23.0.11:3000","timestamp":1646055635546906,"trace_id":"7e7d4cac68bce7b20834fa8022c7ca8d","type":"external","action":"connect","outcome":"success","parent_id":"df741c651a9362df","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7e7d4cac68bce7b2"}} +{"span":{"duration":20.993624999999998,"id":"ddbe07d82eafefde","name":"Request","timestamp":1646055635547056,"trace_id":"7e7d4cac68bce7b20834fa8022c7ca8d","type":"external","action":"request","outcome":"success","parent_id":"df741c651a9362df","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7e7d4cac68bce7b2"}} +{"span":{"duration":0.104084,"id":"fe96206e5007c305","name":"Response","timestamp":1646055635568079,"trace_id":"7e7d4cac68bce7b20834fa8022c7ca8d","type":"external","action":"response","outcome":"success","parent_id":"df741c651a9362df","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7e7d4cac68bce7b2"}} +{"span":{"duration":22.0165,"id":"df741c651a9362df","name":"GET opbeans-python:3000","timestamp":1646055635546167,"trace_id":"7e7d4cac68bce7b20834fa8022c7ca8d","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/486","status_code":200}},"outcome":"success","parent_id":"7e7d4cac68bce7b2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7e7d4cac68bce7b2"}} +{"transaction":{"duration":22.458291,"id":"7e7d4cac68bce7b2","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055635545946,"trace_id":"7e7d4cac68bce7b20834fa8022c7ca8d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/486","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/486"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","Vary":"Cookie","Date":"Mon, 28 Feb 2022 13:40:35 GMT","Content-Type":"application/json","Content-Length":"322","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.924709,"id":"e31143fecc44cd50","name":"SELECT FROM products","timestamp":1646055635586200,"trace_id":"d81a1a13031b0d09c2174cb9acdd7ccb","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d81a1a13031b0d09","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d81a1a13031b0d09"}} +{"transaction":{"duration":2.054958,"id":"d81a1a13031b0d09","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055635585990,"trace_id":"d81a1a13031b0d09c2174cb9acdd7ccb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.311333,"id":"0b221daa6a61bc65","name":"DNS opbeans-python","timestamp":1646055635606786,"trace_id":"027ccd8e5ebe5f03dd86da93833280d6","type":"external","action":"dns","outcome":"success","parent_id":"47028227cc0456e1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"027ccd8e5ebe5f03"}} +{"span":{"duration":0.106958,"id":"cac85cb1f68f17a8","name":"Connect 172.23.0.11:3000","timestamp":1646055635607103,"trace_id":"027ccd8e5ebe5f03dd86da93833280d6","type":"external","action":"connect","outcome":"success","parent_id":"47028227cc0456e1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"027ccd8e5ebe5f03"}} +{"span":{"duration":146.24425,"id":"36b5e531bdb250b3","name":"Request","timestamp":1646055635607221,"trace_id":"027ccd8e5ebe5f03dd86da93833280d6","type":"external","action":"request","outcome":"success","parent_id":"47028227cc0456e1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"027ccd8e5ebe5f03"}} +{"span":{"duration":3.326166,"id":"517a950995610797","name":"Response","timestamp":1646055635753545,"trace_id":"027ccd8e5ebe5f03dd86da93833280d6","type":"external","action":"response","outcome":"success","parent_id":"47028227cc0456e1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"027ccd8e5ebe5f03"}} +{"span":{"duration":150.13716599999998,"id":"47028227cc0456e1","name":"GET opbeans-python:3000","timestamp":1646055635606739,"trace_id":"027ccd8e5ebe5f03dd86da93833280d6","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"027ccd8e5ebe5f03","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"027ccd8e5ebe5f03"}} +{"transaction":{"duration":150.30375,"id":"027ccd8e5ebe5f03","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055635606670,"trace_id":"027ccd8e5ebe5f03dd86da93833280d6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:40:35 GMT","Content-Type":"application/json","X-Frame-Options":"DENY","Server":"gunicorn","Content-Length":"203686","Vary":"Cookie","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.272125,"id":"c2d838e65048d9d1","name":"SELECT FROM customers","timestamp":1646055635774490,"trace_id":"20ae413106a56bcda5907855b111b187","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"20ae413106a56bcd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"20ae413106a56bcd"}} +{"transaction":{"duration":1.664,"id":"20ae413106a56bcd","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055635774475,"trace_id":"20ae413106a56bcda5907855b111b187","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.864541,"id":"55a5ffefa2dfe538","name":"SELECT FROM customers","timestamp":1646055635795062,"trace_id":"e6fea77f2739547292545e35fbd96119","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e6fea77f27395472","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e6fea77f27395472"}} +{"transaction":{"duration":2.254083,"id":"e6fea77f27395472","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055635795039,"trace_id":"e6fea77f2739547292545e35fbd96119","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=50","full":"http://opbeans-go:3000/api/products/5/customers?limit=50"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.9015,"id":"28a3fecf062b2d2e","name":"SELECT FROM customers","timestamp":1646055635817930,"trace_id":"369c0a7dfce186b07c445346bd34e734","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"369c0a7dfce186b0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"369c0a7dfce186b0"}} +{"transaction":{"duration":2.056292,"id":"369c0a7dfce186b0","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055635817906,"trace_id":"369c0a7dfce186b07c445346bd34e734","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":183.510541,"id":"f8b409e83e8d8b83","name":"Request","timestamp":1646055635853428,"trace_id":"3249a931b9788dfb33ba5b99a88b86e9","type":"external","action":"request","outcome":"success","parent_id":"a9c3f4bb33301afb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"086fe789a27ad2fa"}} +{"span":{"duration":0.45375,"id":"9432e9995cdba768","name":"Response","timestamp":1646055636037002,"trace_id":"3249a931b9788dfb33ba5b99a88b86e9","type":"external","action":"response","outcome":"success","parent_id":"a9c3f4bb33301afb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"086fe789a27ad2fa"}} +{"span":{"duration":184.042584,"id":"a9c3f4bb33301afb","name":"GET opbeans-node:3000","timestamp":1646055635853417,"trace_id":"3249a931b9788dfb33ba5b99a88b86e9","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"086fe789a27ad2fa","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"086fe789a27ad2fa"}} +{"transaction":{"duration":184.59504199999998,"id":"086fe789a27ad2fa","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055635853246,"trace_id":"3249a931b9788dfb33ba5b99a88b86e9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-3249a931b9788dfb33ba5b99a88b86e9-c6d4bc672142c019-01","Traceparent":"00-3249a931b9788dfb33ba5b99a88b86e9-c6d4bc672142c019-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"186769","Etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","Date":"Mon, 28 Feb 2022 13:40:35 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c6d4bc672142c019","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":184.828125,"id":"5b1ac22e2a24f0b2","name":"Request","timestamp":1646055635853146,"trace_id":"3249a931b9788dfb33ba5b99a88b86e9","type":"external","action":"request","outcome":"success","parent_id":"c6d4bc672142c019","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3249a931b9788dfb"}} +{"span":{"duration":2.7567500000000003,"id":"f2c9b852329c13f1","name":"Response","timestamp":1646055636037990,"trace_id":"3249a931b9788dfb33ba5b99a88b86e9","type":"external","action":"response","outcome":"success","parent_id":"c6d4bc672142c019","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3249a931b9788dfb"}} +{"span":{"duration":187.660875,"id":"c6d4bc672142c019","name":"GET opbeans-go:3000","timestamp":1646055635853092,"trace_id":"3249a931b9788dfb33ba5b99a88b86e9","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"3249a931b9788dfb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3249a931b9788dfb"}} +{"transaction":{"duration":188.24795799999998,"id":"3249a931b9788dfb","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055635852867,"trace_id":"3249a931b9788dfb33ba5b99a88b86e9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Length":"186769","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:35 GMT","Etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\""},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.684833,"id":"1b6188036ffcfe48","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055636071221,"trace_id":"1b6188036ffcfe483f45f859565baa61","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.905084,"id":"5162b465e37468f2","name":"SELECT FROM products","timestamp":1646055636098634,"trace_id":"4cb273680887dca29339c54e771792a5","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a4cf162520a10e0f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a4cf162520a10e0f"}} +{"transaction":{"duration":3.259708,"id":"a4cf162520a10e0f","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055636098614,"trace_id":"4cb273680887dca29339c54e771792a5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-4cb273680887dca29339c54e771792a5-f03f5496f544cb3b-01","Traceparent":"00-4cb273680887dca29339c54e771792a5-f03f5496f544cb3b-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f03f5496f544cb3b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.479667,"id":"62e6268b2794d63e","name":"Request","timestamp":1646055636098490,"trace_id":"4cb273680887dca29339c54e771792a5","type":"external","action":"request","outcome":"success","parent_id":"f03f5496f544cb3b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4cb273680887dca2"}} +{"span":{"duration":0.04025,"id":"b52b24ef54026ebc","name":"Response","timestamp":1646055636101972,"trace_id":"4cb273680887dca29339c54e771792a5","type":"external","action":"response","outcome":"success","parent_id":"f03f5496f544cb3b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4cb273680887dca2"}} +{"span":{"duration":3.552291,"id":"f03f5496f544cb3b","name":"GET opbeans-go:3000","timestamp":1646055636098461,"trace_id":"4cb273680887dca29339c54e771792a5","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"4cb273680887dca2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4cb273680887dca2"}} +{"transaction":{"duration":5.464667,"id":"4cb273680887dca2","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055636097985,"trace_id":"4cb273680887dca29339c54e771792a5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:36 GMT","Content-Length":"403"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.889833,"id":"c9110082179375aa","name":"SELECT FROM orders","timestamp":1646055636128049,"trace_id":"09c5e339bf6b5487ef7014b571a6f225","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8a57be636829b0b8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8a57be636829b0b8"}} +{"span":{"duration":1.4338330000000001,"id":"b04ee5576b1c0d1b","name":"SELECT FROM products","timestamp":1646055636128986,"trace_id":"09c5e339bf6b5487ef7014b571a6f225","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8a57be636829b0b8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8a57be636829b0b8"}} +{"transaction":{"duration":2.8325,"id":"8a57be636829b0b8","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055636128034,"trace_id":"09c5e339bf6b5487ef7014b571a6f225","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/836","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/836"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-09c5e339bf6b5487ef7014b571a6f225-fc7b466c3e94528f-01","Traceparent":"00-09c5e339bf6b5487ef7014b571a6f225-fc7b466c3e94528f-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"fc7b466c3e94528f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.9961670000000002,"id":"dffc042f1dc9a502","name":"Request","timestamp":1646055636127957,"trace_id":"09c5e339bf6b5487ef7014b571a6f225","type":"external","action":"request","outcome":"success","parent_id":"fc7b466c3e94528f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"09c5e339bf6b5487"}} +{"span":{"duration":0.037958,"id":"da0e3867f4ba305e","name":"Response","timestamp":1646055636130955,"trace_id":"09c5e339bf6b5487ef7014b571a6f225","type":"external","action":"response","outcome":"success","parent_id":"fc7b466c3e94528f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"09c5e339bf6b5487"}} +{"span":{"duration":3.062,"id":"fc7b466c3e94528f","name":"GET opbeans-go:3000","timestamp":1646055636127931,"trace_id":"09c5e339bf6b5487ef7014b571a6f225","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/836","status_code":200}},"outcome":"success","parent_id":"09c5e339bf6b5487","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"09c5e339bf6b5487"}} +{"transaction":{"duration":3.374625,"id":"09c5e339bf6b5487","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055636127702,"trace_id":"09c5e339bf6b5487ef7014b571a6f225","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/836","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/836"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:36 GMT","Content-Length":"309"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5818340000000001,"id":"de8950561bdb68eb","name":"DNS opbeans-python","timestamp":1646055636158574,"trace_id":"7a9ba03884bb538bb24a054900c07bac","type":"external","action":"dns","outcome":"success","parent_id":"d267b9cb25151ff2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7a9ba03884bb538b"}} +{"span":{"duration":0.152417,"id":"ece9102acb4576ab","name":"Connect 172.23.0.11:3000","timestamp":1646055636159162,"trace_id":"7a9ba03884bb538bb24a054900c07bac","type":"external","action":"connect","outcome":"success","parent_id":"d267b9cb25151ff2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7a9ba03884bb538b"}} +{"span":{"duration":1.389917,"id":"4039f9c3dc188c9b","name":"SELECT FROM products","timestamp":1646055636230241,"trace_id":"7a9ba03884bb538bb24a054900c07bac","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ecd0095e2216fc71","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ecd0095e2216fc71"}} +{"transaction":{"duration":1.564584,"id":"ecd0095e2216fc71","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055636230224,"trace_id":"7a9ba03884bb538bb24a054900c07bac","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-7a9ba03884bb538bb24a054900c07bac-0eaba4a57849c8be-01","Elastic-Apm-Traceparent":"00-7a9ba03884bb538bb24a054900c07bac-0eaba4a57849c8be-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"0eaba4a57849c8be","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":84.21695799999999,"id":"2ffba41d2504bb13","name":"Request","timestamp":1646055636159328,"trace_id":"7a9ba03884bb538bb24a054900c07bac","type":"external","action":"request","outcome":"success","parent_id":"d267b9cb25151ff2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7a9ba03884bb538b"}} +{"span":{"duration":0.248375,"id":"a8337e5dc63f5b36","name":"Response","timestamp":1646055636243577,"trace_id":"7a9ba03884bb538bb24a054900c07bac","type":"external","action":"response","outcome":"success","parent_id":"d267b9cb25151ff2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7a9ba03884bb538b"}} +{"span":{"duration":85.328583,"id":"d267b9cb25151ff2","name":"GET opbeans-python:3000","timestamp":1646055636158497,"trace_id":"7a9ba03884bb538bb24a054900c07bac","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"7a9ba03884bb538b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7a9ba03884bb538b"}} +{"transaction":{"duration":85.84916600000001,"id":"7a9ba03884bb538b","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055636158080,"trace_id":"7a9ba03884bb538bb24a054900c07bac","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:40:36 GMT","Content-Length":"403","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.29920800000000003,"id":"b125998f314499aa","name":"SELECT FROM customers","timestamp":1646055636262749,"trace_id":"a472718513164318170b975046a80dfc","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a472718513164318","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a472718513164318"}} +{"transaction":{"duration":0.399667,"id":"a472718513164318","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055636262727,"trace_id":"a472718513164318170b975046a80dfc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/6294","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/6294"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.24899999999999997,"id":"6c82ebbd74656a25","name":"DNS opbeans-python","timestamp":1646055636283912,"trace_id":"26a2053a3490591fada12b3a74682756","type":"external","action":"dns","outcome":"success","parent_id":"43dd79c85c465f17","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"26a2053a3490591f"}} +{"span":{"duration":0.548125,"id":"f3a972d9af478b8b","name":"Connect 172.23.0.11:3000","timestamp":1646055636284165,"trace_id":"26a2053a3490591fada12b3a74682756","type":"external","action":"connect","outcome":"success","parent_id":"43dd79c85c465f17","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"26a2053a3490591f"}} +{"span":{"duration":15.095458,"id":"335fa7467ef9f1eb","name":"Request","timestamp":1646055636284725,"trace_id":"26a2053a3490591fada12b3a74682756","type":"external","action":"request","outcome":"success","parent_id":"43dd79c85c465f17","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"26a2053a3490591f"}} +{"span":{"duration":0.399917,"id":"2dc09ac8080d967b","name":"Response","timestamp":1646055636299858,"trace_id":"26a2053a3490591fada12b3a74682756","type":"external","action":"response","outcome":"success","parent_id":"43dd79c85c465f17","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"26a2053a3490591f"}} +{"span":{"duration":16.432417,"id":"43dd79c85c465f17","name":"GET opbeans-python:3000","timestamp":1646055636283826,"trace_id":"26a2053a3490591fada12b3a74682756","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/5","status_code":200}},"outcome":"success","parent_id":"26a2053a3490591f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"26a2053a3490591f"}} +{"transaction":{"duration":16.779459,"id":"26a2053a3490591f","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055636283572,"trace_id":"26a2053a3490591fada12b3a74682756","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","X-Frame-Options":"DENY","Vary":"Cookie","Server":"gunicorn","Content-Length":"267","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:40:36 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":26.879125000000002,"id":"51d58185b424a5b9","name":"Request","timestamp":1646055636319347,"trace_id":"af4e65c4584cbaaf0a82737b40a4b7d5","type":"external","action":"request","outcome":"success","parent_id":"2cc239e12f7e8562","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"af4e65c4584cbaaf"}} +{"span":{"duration":0.059792,"id":"3e06c28c51c5d1a7","name":"Response","timestamp":1646055636346260,"trace_id":"af4e65c4584cbaaf0a82737b40a4b7d5","type":"external","action":"response","outcome":"success","parent_id":"2cc239e12f7e8562","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"af4e65c4584cbaaf"}} +{"span":{"duration":26.993292,"id":"2cc239e12f7e8562","name":"GET opbeans-node:3000","timestamp":1646055636319328,"trace_id":"af4e65c4584cbaaf0a82737b40a4b7d5","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types","status_code":200}},"outcome":"success","parent_id":"af4e65c4584cbaaf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"af4e65c4584cbaaf"}} +{"transaction":{"duration":27.184916,"id":"af4e65c4584cbaaf","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055636319263,"trace_id":"af4e65c4584cbaaf0a82737b40a4b7d5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"112","Etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","Date":"Mon, 28 Feb 2022 13:40:36 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.640667,"id":"18decdd547bfe66a","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055636364458,"trace_id":"18decdd547bfe66ac883b60322826e13","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5930840000000001,"id":"e743fcc3d35e1a9e","name":"SELECT FROM orders","timestamp":1646055636383708,"trace_id":"44c38fe4e5eeb9ec698d3753418a24e9","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"44c38fe4e5eeb9ec","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"44c38fe4e5eeb9ec"}} +{"transaction":{"duration":2.368375,"id":"44c38fe4e5eeb9ec","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055636383690,"trace_id":"44c38fe4e5eeb9ec698d3753418a24e9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.407667,"id":"7907c10dbca282cd","name":"DNS opbeans-python","timestamp":1646055636407648,"trace_id":"79cf51baa8174214c6714e3dfdf00608","type":"external","action":"dns","outcome":"success","parent_id":"9c870b91abe76075","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"79cf51baa8174214"}} +{"span":{"duration":0.17124999999999999,"id":"7ac7d99236c3e45f","name":"Connect 172.23.0.11:3000","timestamp":1646055636408062,"trace_id":"79cf51baa8174214c6714e3dfdf00608","type":"external","action":"connect","outcome":"success","parent_id":"9c870b91abe76075","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"79cf51baa8174214"}} +{"span":{"duration":22.310084,"id":"07cc80b85b2faa00","name":"Request","timestamp":1646055636408245,"trace_id":"79cf51baa8174214c6714e3dfdf00608","type":"external","action":"request","outcome":"success","parent_id":"9c870b91abe76075","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"79cf51baa8174214"}} +{"span":{"duration":2.095417,"id":"93effee1f0ef08ef","name":"Response","timestamp":1646055636430666,"trace_id":"79cf51baa8174214c6714e3dfdf00608","type":"external","action":"response","outcome":"success","parent_id":"9c870b91abe76075","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"79cf51baa8174214"}} +{"span":{"duration":25.198625,"id":"9c870b91abe76075","name":"GET opbeans-python:3000","timestamp":1646055636407566,"trace_id":"79cf51baa8174214c6714e3dfdf00608","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/6/customers","status_code":200}},"outcome":"success","parent_id":"79cf51baa8174214","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"79cf51baa8174214"}} +{"transaction":{"duration":25.608249999999998,"id":"79cf51baa8174214","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055636407383,"trace_id":"79cf51baa8174214c6714e3dfdf00608","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","X-Frame-Options":"DENY","Referrer-Policy":"same-origin","Content-Length":"16201","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:36 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.31220800000000004,"id":"e02843ab9f58e11e","name":"SELECT FROM products","timestamp":1646055636449476,"trace_id":"5c7da8ab946b310c9a6cd8aa4194a53c","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5c7da8ab946b310c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5c7da8ab946b310c"}} +{"transaction":{"duration":0.49074999999999996,"id":"5c7da8ab946b310c","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055636449443,"trace_id":"5c7da8ab946b310c9a6cd8aa4194a53c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5912499999999999,"id":"f5bb4d031109173d","name":"SELECT FROM orders","timestamp":1646055636467216,"trace_id":"3190e1231b54b86a6f1775e5098637e2","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3190e1231b54b86a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3190e1231b54b86a"}} +{"span":{"duration":0.597375,"id":"dd879380c13cfd02","name":"SELECT FROM products","timestamp":1646055636467837,"trace_id":"3190e1231b54b86a6f1775e5098637e2","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3190e1231b54b86a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3190e1231b54b86a"}} +{"transaction":{"duration":1.324458,"id":"3190e1231b54b86a","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055636467197,"trace_id":"3190e1231b54b86a6f1775e5098637e2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/32","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/32"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.306792,"id":"d24c0a62a8fed4f4","name":"SELECT FROM products","timestamp":1646055636485984,"trace_id":"64b439b2e02c6c03a8fadfa49d55f660","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"64b439b2e02c6c03","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"64b439b2e02c6c03"}} +{"transaction":{"duration":0.431791,"id":"64b439b2e02c6c03","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055636485966,"trace_id":"64b439b2e02c6c03a8fadfa49d55f660","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.0280829999999999,"id":"628a8027312ae7e1","name":"SELECT FROM customers","timestamp":1646055636504364,"trace_id":"add6f222a4c589322d519fa4e341b105","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"add6f222a4c58932","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"add6f222a4c58932"}} +{"transaction":{"duration":2.3951670000000003,"id":"add6f222a4c58932","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055636504331,"trace_id":"add6f222a4c589322d519fa4e341b105","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.259583,"id":"7248fe7794a44b1a","name":"SELECT FROM customers","timestamp":1646055636525666,"trace_id":"9d156186dd67b507ef763e8ca673d606","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9d156186dd67b507","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9d156186dd67b507"}} +{"transaction":{"duration":0.438167,"id":"9d156186dd67b507","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055636525565,"trace_id":"9d156186dd67b507ef763e8ca673d606","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/954","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/954"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.50625,"id":"a0d0f9e9b57cdfa1","name":"DNS opbeans-python","timestamp":1646055636544428,"trace_id":"57f3693d3cc216ea2465cbc66f6b32b0","type":"external","action":"dns","outcome":"success","parent_id":"4c3ba663969db526","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"57f3693d3cc216ea"}} +{"span":{"duration":1.1247919999999998,"id":"39e59393851dd552","name":"Connect 172.23.0.11:3000","timestamp":1646055636544939,"trace_id":"57f3693d3cc216ea2465cbc66f6b32b0","type":"external","action":"connect","outcome":"success","parent_id":"4c3ba663969db526","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"57f3693d3cc216ea"}} +{"span":{"duration":18.088583,"id":"6f682f4a3b662ef4","name":"Request","timestamp":1646055636546076,"trace_id":"57f3693d3cc216ea2465cbc66f6b32b0","type":"external","action":"request","outcome":"success","parent_id":"4c3ba663969db526","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"57f3693d3cc216ea"}} +{"span":{"duration":0.1735,"id":"63be03d7c11d54c4","name":"Response","timestamp":1646055636564188,"trace_id":"57f3693d3cc216ea2465cbc66f6b32b0","type":"external","action":"response","outcome":"success","parent_id":"4c3ba663969db526","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"57f3693d3cc216ea"}} +{"span":{"duration":19.976667,"id":"4c3ba663969db526","name":"GET opbeans-python:3000","timestamp":1646055636544386,"trace_id":"57f3693d3cc216ea2465cbc66f6b32b0","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/226","status_code":200}},"outcome":"success","parent_id":"57f3693d3cc216ea","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"57f3693d3cc216ea"}} +{"transaction":{"duration":20.463917000000002,"id":"57f3693d3cc216ea","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055636544186,"trace_id":"57f3693d3cc216ea2465cbc66f6b32b0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/226","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/226"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:36 GMT","X-Frame-Options":"DENY","Content-Length":"305","Vary":"Cookie","Referrer-Policy":"same-origin","Content-Type":"application/json","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":60.782666,"id":"896be9be63a9c335","name":"Request","timestamp":1646055636598457,"trace_id":"b30ca088555522a10e897bc4d73232da","type":"external","action":"request","outcome":"success","parent_id":"44475042ad85c85b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4607db70e20c9b21"}} +{"span":{"duration":0.201958,"id":"9d6733a39aa1595b","name":"Response","timestamp":1646055636659268,"trace_id":"b30ca088555522a10e897bc4d73232da","type":"external","action":"response","outcome":"success","parent_id":"44475042ad85c85b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4607db70e20c9b21"}} +{"span":{"duration":61.031917,"id":"44475042ad85c85b","name":"GET opbeans-node:3000","timestamp":1646055636598439,"trace_id":"b30ca088555522a10e897bc4d73232da","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types","status_code":200}},"outcome":"success","parent_id":"4607db70e20c9b21","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4607db70e20c9b21"}} +{"transaction":{"duration":61.475916999999995,"id":"4607db70e20c9b21","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055636598279,"trace_id":"b30ca088555522a10e897bc4d73232da","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-b30ca088555522a10e897bc4d73232da-7b25998ffc02c804-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-b30ca088555522a10e897bc4d73232da-7b25998ffc02c804-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Referrer-Policy":"strict-origin-when-cross-origin","Etag":"W/\"32a6f2ac22b5ec871f35104a05ba3759\"","Date":"Mon, 28 Feb 2022 13:40:36 GMT","X-Content-Type-Options":"nosniff","X-Request-Id":"b60f10dd-ca61-4dde-a427-c052913c3724","X-Frame-Options":"SAMEORIGIN","X-Permitted-Cross-Domain-Policies":"none","X-Download-Options":"noopen","X-Runtime":"0.021081","Cache-Control":"max-age=0, private, must-revalidate","X-Powered-By":"Express","X-Xss-Protection":"1; mode=block"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"7b25998ffc02c804","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":83.16570800000001,"id":"b0cd409a81cc812e","name":"Request","timestamp":1646055636583222,"trace_id":"b30ca088555522a10e897bc4d73232da","type":"external","action":"request","outcome":"success","parent_id":"226eea33ab8e1e71","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b30ca088555522a1"}} +{"span":{"duration":0.1115,"id":"0079e5ecc6eefbe6","name":"Response","timestamp":1646055636666411,"trace_id":"b30ca088555522a10e897bc4d73232da","type":"external","action":"response","outcome":"success","parent_id":"226eea33ab8e1e71","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b30ca088555522a1"}} +{"span":{"duration":83.319042,"id":"226eea33ab8e1e71","name":"GET opbeans-ruby:3000","timestamp":1646055636583204,"trace_id":"b30ca088555522a10e897bc4d73232da","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"b30ca088555522a1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b30ca088555522a1"}} +{"transaction":{"duration":85.706,"id":"b30ca088555522a1","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055636583053,"trace_id":"b30ca088555522a10e897bc4d73232da","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.40945800000000004,"id":"24c68273987b88e4","name":"DNS opbeans-node","timestamp":1646055636684820,"trace_id":"d27452e4e3ad93edf1de98a06bae411b","type":"external","action":"dns","outcome":"success","parent_id":"ab6deac1fe852a9a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d27452e4e3ad93ed"}} +{"span":{"duration":0.09916699999999999,"id":"8c6a260cb4261d60","name":"Connect 172.23.0.10:3000","timestamp":1646055636685235,"trace_id":"d27452e4e3ad93edf1de98a06bae411b","type":"external","action":"connect","outcome":"success","parent_id":"ab6deac1fe852a9a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d27452e4e3ad93ed"}} +{"span":{"duration":0.24425,"id":"ccf5476a058fecb4","name":"SELECT FROM customers","timestamp":1646055636714891,"trace_id":"d27452e4e3ad93edf1de98a06bae411b","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7aefa99b149faf8f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7aefa99b149faf8f"}} +{"transaction":{"duration":1.752291,"id":"7aefa99b149faf8f","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055636714875,"trace_id":"d27452e4e3ad93edf1de98a06bae411b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Traceparent":"00-d27452e4e3ad93edf1de98a06bae411b-da6e9aacecb6ea58-01","Elastic-Apm-Traceparent":"00-d27452e4e3ad93edf1de98a06bae411b-da6e9aacecb6ea58-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"da6e9aacecb6ea58","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":42.949124999999995,"id":"959f057488f2963e","name":"Request","timestamp":1646055636685343,"trace_id":"d27452e4e3ad93edf1de98a06bae411b","type":"external","action":"request","outcome":"success","parent_id":"ab6deac1fe852a9a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d27452e4e3ad93ed"}} +{"span":{"duration":1.90625,"id":"e1e521d97b804ef8","name":"Response","timestamp":1646055636728317,"trace_id":"d27452e4e3ad93edf1de98a06bae411b","type":"external","action":"response","outcome":"success","parent_id":"ab6deac1fe852a9a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d27452e4e3ad93ed"}} +{"span":{"duration":45.448583,"id":"ab6deac1fe852a9a","name":"GET opbeans-node:3000","timestamp":1646055636684776,"trace_id":"d27452e4e3ad93edf1de98a06bae411b","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"d27452e4e3ad93ed","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d27452e4e3ad93ed"}} +{"transaction":{"duration":45.571083,"id":"d27452e4e3ad93ed","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055636684719,"trace_id":"d27452e4e3ad93edf1de98a06bae411b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:36 GMT","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Type":"application/json; charset=utf-8","Content-Length":"186769","Referrer-Policy":"same-origin","X-Powered-By":"Express","Vary":"Cookie","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.373541,"id":"00d64de7012ab7c2","name":"DNS opbeans-node","timestamp":1646055636747463,"trace_id":"fc18ff13811892357b56740d7b24dcee","type":"external","action":"dns","outcome":"success","parent_id":"806f68daa8d65ca9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fc18ff1381189235"}} +{"span":{"duration":0.136,"id":"428b886746bc024c","name":"Connect 172.23.0.10:3000","timestamp":1646055636747844,"trace_id":"fc18ff13811892357b56740d7b24dcee","type":"external","action":"connect","outcome":"success","parent_id":"806f68daa8d65ca9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fc18ff1381189235"}} +{"span":{"duration":33.727209,"id":"dbbd245871b979ef","name":"Request","timestamp":1646055636767488,"trace_id":"fc18ff13811892357b56740d7b24dcee","type":"external","action":"request","outcome":"success","parent_id":"5160f2fcf9dc6c7d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9dacbf2afd90ba03"}} +{"span":{"duration":0.07045799999999999,"id":"62c295c1be61d63d","name":"Response","timestamp":1646055636801239,"trace_id":"fc18ff13811892357b56740d7b24dcee","type":"external","action":"response","outcome":"success","parent_id":"5160f2fcf9dc6c7d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9dacbf2afd90ba03"}} +{"span":{"duration":33.828917,"id":"5160f2fcf9dc6c7d","name":"GET opbeans-ruby:3000","timestamp":1646055636767482,"trace_id":"fc18ff13811892357b56740d7b24dcee","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/908","status_code":404}},"outcome":"failure","parent_id":"9dacbf2afd90ba03","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9dacbf2afd90ba03"}} +{"transaction":{"duration":34.210083000000004,"id":"9dacbf2afd90ba03","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055636767453,"trace_id":"fc18ff13811892357b56740d7b24dcee","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/908","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/908"},"headers":{"Traceparent":"00-fc18ff13811892357b56740d7b24dcee-9aaa237b6abf5fb5-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.10","Accept-Encoding":"gzip","Elastic-Apm-Traceparent":"00-fc18ff13811892357b56740d7b24dcee-9aaa237b6abf5fb5-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"text/html; charset=UTF-8","X-Request-Id":"61cf5d46-cb9b-4624-94fd-3ef8c77877de","X-Runtime":"0.025968","Content-Length":"1722"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"9aaa237b6abf5fb5","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":34.352209,"id":"2dcc227d8df889ba","name":"Request","timestamp":1646055636767395,"trace_id":"fc18ff13811892357b56740d7b24dcee","type":"external","action":"request","outcome":"success","parent_id":"9aaa237b6abf5fb5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4c010537e96b7436"}} +{"span":{"duration":0.037125,"id":"480f5c1fb08088dd","name":"Response","timestamp":1646055636801757,"trace_id":"fc18ff13811892357b56740d7b24dcee","type":"external","action":"response","outcome":"success","parent_id":"9aaa237b6abf5fb5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4c010537e96b7436"}} +{"span":{"duration":34.419,"id":"9aaa237b6abf5fb5","name":"GET opbeans-go:3000","timestamp":1646055636767376,"trace_id":"fc18ff13811892357b56740d7b24dcee","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/908","status_code":404}},"outcome":"failure","parent_id":"4c010537e96b7436","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4c010537e96b7436"}} +{"transaction":{"duration":34.696167,"id":"4c010537e96b7436","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055636767255,"trace_id":"fc18ff13811892357b56740d7b24dcee","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/908","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/908"},"headers":{"Traceparent":"00-fc18ff13811892357b56740d7b24dcee-4d3e63631083af29-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-fc18ff13811892357b56740d7b24dcee-4d3e63631083af29-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:36 GMT","Content-Length":"1722","Content-Type":"text/html; charset=UTF-8","X-Request-Id":"61cf5d46-cb9b-4624-94fd-3ef8c77877de","X-Runtime":"0.025968"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"4d3e63631083af29","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":63.944791,"id":"f5fcdc411f1909ac","name":"Request","timestamp":1646055636747990,"trace_id":"fc18ff13811892357b56740d7b24dcee","type":"external","action":"request","outcome":"success","parent_id":"806f68daa8d65ca9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fc18ff1381189235"}} +{"span":{"duration":0.164167,"id":"a4301a1e5d1446f5","name":"Response","timestamp":1646055636811973,"trace_id":"fc18ff13811892357b56740d7b24dcee","type":"external","action":"response","outcome":"success","parent_id":"806f68daa8d65ca9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fc18ff1381189235"}} +{"span":{"duration":64.725166,"id":"806f68daa8d65ca9","name":"GET opbeans-node:3000","timestamp":1646055636747413,"trace_id":"fc18ff13811892357b56740d7b24dcee","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders/908","status_code":404}},"outcome":"failure","parent_id":"fc18ff1381189235","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fc18ff1381189235"}} +{"transaction":{"duration":65.095,"id":"fc18ff1381189235","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055636747346,"trace_id":"fc18ff13811892357b56740d7b24dcee","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/908","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/908"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"1722","Content-Type":"text/html; charset=UTF-8","Date":"Mon, 28 Feb 2022 13:40:36 GMT","X-Request-Id":"61cf5d46-cb9b-4624-94fd-3ef8c77877de","X-Runtime":"0.025968","X-Powered-By":"Express"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.499333,"id":"930da4c48002bffb","name":"DNS opbeans-python","timestamp":1646055636838313,"trace_id":"13ff20f122a181b73252647278900712","type":"external","action":"dns","outcome":"success","parent_id":"b5cd42b893212600","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"13ff20f122a181b7"}} +{"span":{"duration":0.13025,"id":"16e2abc45b609dc8","name":"Connect 172.23.0.11:3000","timestamp":1646055636838818,"trace_id":"13ff20f122a181b73252647278900712","type":"external","action":"connect","outcome":"success","parent_id":"b5cd42b893212600","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"13ff20f122a181b7"}} +{"span":{"duration":36.286041999999995,"id":"c845df80578ca76d","name":"Request","timestamp":1646055636838959,"trace_id":"13ff20f122a181b73252647278900712","type":"external","action":"request","outcome":"success","parent_id":"b5cd42b893212600","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"13ff20f122a181b7"}} +{"span":{"duration":1.253833,"id":"f9b000039eaef1fb","name":"Response","timestamp":1646055636875272,"trace_id":"13ff20f122a181b73252647278900712","type":"external","action":"response","outcome":"success","parent_id":"b5cd42b893212600","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"13ff20f122a181b7"}} +{"span":{"duration":38.261333,"id":"b5cd42b893212600","name":"GET opbeans-python:3000","timestamp":1646055636838266,"trace_id":"13ff20f122a181b73252647278900712","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"13ff20f122a181b7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"13ff20f122a181b7"}} +{"transaction":{"duration":38.717124999999996,"id":"13ff20f122a181b7","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055636838067,"trace_id":"13ff20f122a181b73252647278900712","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"123","Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:40:36 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.392458,"id":"8408f17c238115e0","name":"SELECT FROM orders","timestamp":1646055636922086,"trace_id":"602a24c2f11cab5b248b38b1925f6b76","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"30c09cfe28779bbd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"30c09cfe28779bbd"}} +{"span":{"duration":0.535667,"id":"7afb28cc1a2d0cf4","name":"SELECT FROM products","timestamp":1646055636922513,"trace_id":"602a24c2f11cab5b248b38b1925f6b76","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"30c09cfe28779bbd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"30c09cfe28779bbd"}} +{"transaction":{"duration":1.1921659999999998,"id":"30c09cfe28779bbd","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055636922063,"trace_id":"602a24c2f11cab5b248b38b1925f6b76","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/470","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/470"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-602a24c2f11cab5b248b38b1925f6b76-0cfe3158e7bc717e-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-602a24c2f11cab5b248b38b1925f6b76-0cfe3158e7bc717e-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"0cfe3158e7bc717e","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":23.554292,"id":"0b968f39c6c31ab9","name":"Request","timestamp":1646055636909430,"trace_id":"602a24c2f11cab5b248b38b1925f6b76","type":"external","action":"request","outcome":"success","parent_id":"eaac3cf0892a5641","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6eb624e73d23496e"}} +{"span":{"duration":0.108125,"id":"cc08e9883f350a45","name":"Response","timestamp":1646055636933010,"trace_id":"602a24c2f11cab5b248b38b1925f6b76","type":"external","action":"response","outcome":"success","parent_id":"eaac3cf0892a5641","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6eb624e73d23496e"}} +{"span":{"duration":23.698375000000002,"id":"eaac3cf0892a5641","name":"GET opbeans-ruby:3000","timestamp":1646055636909421,"trace_id":"602a24c2f11cab5b248b38b1925f6b76","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/470","status_code":200}},"outcome":"success","parent_id":"6eb624e73d23496e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6eb624e73d23496e"}} +{"span":{"duration":24.09625,"id":"4debd0a8d77f55e5","name":"Request","timestamp":1646055636909242,"trace_id":"602a24c2f11cab5b248b38b1925f6b76","type":"external","action":"request","outcome":"success","parent_id":"7fff15f66b1ea5ec","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"602a24c2f11cab5b"}} +{"transaction":{"duration":24.144167,"id":"6eb624e73d23496e","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055636909320,"trace_id":"602a24c2f11cab5b248b38b1925f6b76","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/470","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/470"},"headers":{"Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-602a24c2f11cab5b248b38b1925f6b76-7fff15f66b1ea5ec-01","Traceparent":"00-602a24c2f11cab5b248b38b1925f6b76-7fff15f66b1ea5ec-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"7fff15f66b1ea5ec","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.17408300000000002,"id":"0233db712165be98","name":"Response","timestamp":1646055636933344,"trace_id":"602a24c2f11cab5b248b38b1925f6b76","type":"external","action":"response","outcome":"success","parent_id":"7fff15f66b1ea5ec","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"602a24c2f11cab5b"}} +{"span":{"duration":24.297958,"id":"7fff15f66b1ea5ec","name":"GET opbeans-go:3000","timestamp":1646055636909221,"trace_id":"602a24c2f11cab5b248b38b1925f6b76","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/470","status_code":200}},"outcome":"success","parent_id":"602a24c2f11cab5b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"602a24c2f11cab5b"}} +{"transaction":{"duration":24.701458,"id":"602a24c2f11cab5b","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055636909028,"trace_id":"602a24c2f11cab5b248b38b1925f6b76","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/470","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/470"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:36 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.2144160000000002,"id":"f12513fc8b5bc6df","name":"DNS opbeans-node","timestamp":1646055636955552,"trace_id":"fa9cadb90a82fca304d68fb42d352f5b","type":"external","action":"dns","outcome":"success","parent_id":"22f7fccc6b1b1edb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fa9cadb90a82fca3"}} +{"span":{"duration":0.417416,"id":"4cf76d0ffda078b6","name":"Connect 172.23.0.10:3000","timestamp":1646055636956823,"trace_id":"fa9cadb90a82fca304d68fb42d352f5b","type":"external","action":"connect","outcome":"success","parent_id":"22f7fccc6b1b1edb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fa9cadb90a82fca3"}} +{"span":{"duration":21.2885,"id":"2d921996c127fcf5","name":"Request","timestamp":1646055636957257,"trace_id":"fa9cadb90a82fca304d68fb42d352f5b","type":"external","action":"request","outcome":"success","parent_id":"22f7fccc6b1b1edb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fa9cadb90a82fca3"}} +{"span":{"duration":0.083041,"id":"bdc54fad6a56ec20","name":"Response","timestamp":1646055636978570,"trace_id":"fa9cadb90a82fca304d68fb42d352f5b","type":"external","action":"response","outcome":"success","parent_id":"22f7fccc6b1b1edb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fa9cadb90a82fca3"}} +{"span":{"duration":23.395584,"id":"22f7fccc6b1b1edb","name":"GET opbeans-node:3000","timestamp":1646055636955258,"trace_id":"fa9cadb90a82fca304d68fb42d352f5b","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"fa9cadb90a82fca3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fa9cadb90a82fca3"}} +{"transaction":{"duration":23.762459,"id":"fa9cadb90a82fca3","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055636955035,"trace_id":"fa9cadb90a82fca304d68fb42d352f5b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"242","Etag":"W/\"f2-TrZrMcMTUtdW6GY8TQq8W/JG3iU\"","Date":"Mon, 28 Feb 2022 13:40:36 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":13.937417,"id":"9e19146db4ed070a","name":"Request","timestamp":1646055636998131,"trace_id":"91e7e0dce5cf748817fa3a3d11bf9a0a","type":"external","action":"request","outcome":"success","parent_id":"6d305a4dd4bf8ec3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"91e7e0dce5cf7488"}} +{"span":{"duration":0.152125,"id":"b0559127aaaa1fb2","name":"Response","timestamp":1646055637012124,"trace_id":"91e7e0dce5cf748817fa3a3d11bf9a0a","type":"external","action":"response","outcome":"success","parent_id":"6d305a4dd4bf8ec3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"91e7e0dce5cf7488"}} +{"span":{"duration":14.166625,"id":"6d305a4dd4bf8ec3","name":"GET opbeans-node:3000","timestamp":1646055636998111,"trace_id":"91e7e0dce5cf748817fa3a3d11bf9a0a","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders/589","status_code":404}},"outcome":"failure","parent_id":"91e7e0dce5cf7488","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"91e7e0dce5cf7488"}} +{"transaction":{"duration":14.485415999999999,"id":"91e7e0dce5cf7488","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055636997946,"trace_id":"91e7e0dce5cf748817fa3a3d11bf9a0a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/589","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/589"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Date":"Mon, 28 Feb 2022 13:40:37 GMT","Content-Length":"0"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":1.6856250000000002,"id":"625dc724b0649844","name":"SELECT FROM product_types","timestamp":1646055637032198,"trace_id":"d24f088e8c4e908160b77310f705c440","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d24f088e8c4e9081","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d24f088e8c4e9081"}} +{"transaction":{"duration":1.950125,"id":"d24f088e8c4e9081","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055637032176,"trace_id":"d24f088e8c4e908160b77310f705c440","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.989542,"id":"ec32a76e33a6797d","name":"SELECT FROM orders","timestamp":1646055637065342,"trace_id":"7653a1002b32660166fcd9147253c23f","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"39bc10b9df3ad412","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"39bc10b9df3ad412"}} +{"span":{"duration":4.927917000000001,"id":"74701496ce4c217c","name":"Request","timestamp":1646055637065265,"trace_id":"7653a1002b32660166fcd9147253c23f","type":"external","action":"request","outcome":"success","parent_id":"a0f33568d394e318","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cc8a5150bb52b748"}} +{"transaction":{"duration":6.201708999999999,"id":"39bc10b9df3ad412","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055637065325,"trace_id":"7653a1002b32660166fcd9147253c23f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Elastic-Apm-Traceparent":"00-7653a1002b32660166fcd9147253c23f-a0f33568d394e318-01","Traceparent":"00-7653a1002b32660166fcd9147253c23f-a0f33568d394e318-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.10","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a0f33568d394e318","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.585042,"id":"a508e8cb91cca69e","name":"Response","timestamp":1646055637070203,"trace_id":"7653a1002b32660166fcd9147253c23f","type":"external","action":"response","outcome":"success","parent_id":"a0f33568d394e318","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cc8a5150bb52b748"}} +{"span":{"duration":6.5457909999999995,"id":"a0f33568d394e318","name":"GET opbeans-go:3000","timestamp":1646055637065244,"trace_id":"7653a1002b32660166fcd9147253c23f","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"cc8a5150bb52b748","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cc8a5150bb52b748"}} +{"transaction":{"duration":7.738,"id":"cc8a5150bb52b748","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055637065037,"trace_id":"7653a1002b32660166fcd9147253c23f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Connection":"close","Traceparent":"00-7653a1002b32660166fcd9147253c23f-42060037884473f3-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-7653a1002b32660166fcd9147253c23f-42060037884473f3-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:37 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"42060037884473f3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":24.529459,"id":"c64d122ecfee17d8","name":"Request","timestamp":1646055637052909,"trace_id":"7653a1002b32660166fcd9147253c23f","type":"external","action":"request","outcome":"success","parent_id":"3e5924d2f4a37d6c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7653a1002b326601"}} +{"span":{"duration":2.355959,"id":"f1b2d221281bc08a","name":"Response","timestamp":1646055637077477,"trace_id":"7653a1002b32660166fcd9147253c23f","type":"external","action":"response","outcome":"success","parent_id":"3e5924d2f4a37d6c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7653a1002b326601"}} +{"span":{"duration":26.949,"id":"3e5924d2f4a37d6c","name":"GET opbeans-node:3000","timestamp":1646055637052888,"trace_id":"7653a1002b32660166fcd9147253c23f","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"7653a1002b326601","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7653a1002b326601"}} +{"transaction":{"duration":27.181292,"id":"7653a1002b326601","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055637052728,"trace_id":"7653a1002b32660166fcd9147253c23f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:37 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.37024999999999997,"id":"04329d0966cfb79b","name":"SELECT FROM products","timestamp":1646055637097704,"trace_id":"3b0426eb81de146fd1c942a43c5f0a08","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3b0426eb81de146f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3b0426eb81de146f"}} +{"transaction":{"duration":0.621625,"id":"3b0426eb81de146f","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055637097684,"trace_id":"3b0426eb81de146fd1c942a43c5f0a08","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.122042,"id":"489f59d397e9c089","name":"SELECT FROM products","timestamp":1646055637119638,"trace_id":"9e1c6676a73ee76db713a29db8b48033","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0aa725f8358e8a5b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0aa725f8358e8a5b"}} +{"transaction":{"duration":2.386792,"id":"0aa725f8358e8a5b","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055637119627,"trace_id":"9e1c6676a73ee76db713a29db8b48033","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-9e1c6676a73ee76db713a29db8b48033-70890bbac942cb7d-01","Traceparent":"00-9e1c6676a73ee76db713a29db8b48033-70890bbac942cb7d-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"70890bbac942cb7d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.548334,"id":"c57ed3592082bc2a","name":"Request","timestamp":1646055637119530,"trace_id":"9e1c6676a73ee76db713a29db8b48033","type":"external","action":"request","outcome":"success","parent_id":"70890bbac942cb7d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9e1c6676a73ee76d"}} +{"span":{"duration":0.027375,"id":"78e7aea0fc25afdf","name":"Response","timestamp":1646055637122094,"trace_id":"9e1c6676a73ee76db713a29db8b48033","type":"external","action":"response","outcome":"success","parent_id":"70890bbac942cb7d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9e1c6676a73ee76d"}} +{"span":{"duration":2.612334,"id":"70890bbac942cb7d","name":"GET opbeans-go:3000","timestamp":1646055637119510,"trace_id":"9e1c6676a73ee76db713a29db8b48033","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"9e1c6676a73ee76d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9e1c6676a73ee76d"}} +{"transaction":{"duration":2.77475,"id":"9e1c6676a73ee76d","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055637119377,"trace_id":"9e1c6676a73ee76db713a29db8b48033","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:37 GMT","Content-Length":"403"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.2595,"id":"6ffad749decb9565","name":"SELECT FROM product_types","timestamp":1646055637140161,"trace_id":"8b3ec00d234070cdde5472989c990de0","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8b3ec00d234070cd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8b3ec00d234070cd"}} +{"transaction":{"duration":1.3745420000000002,"id":"8b3ec00d234070cd","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055637140144,"trace_id":"8b3ec00d234070cdde5472989c990de0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.35075,"id":"f91cbf0af597d7bf","name":"SELECT FROM customers","timestamp":1646055637162841,"trace_id":"ae5da973dd931108abf12f9798ce80b6","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ae5da973dd931108","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ae5da973dd931108"}} +{"transaction":{"duration":0.459458,"id":"ae5da973dd931108","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055637162818,"trace_id":"ae5da973dd931108abf12f9798ce80b6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/56","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/56"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.067667,"id":"d9aa8caecf23f739","name":"GET /oopsie","span_count":{"dropped":0,"started":0},"timestamp":1646055637180804,"trace_id":"d9aa8caecf23f7398da0ed2b41ea6d36","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/oopsie","port":"3000","protocol":"http","full":"http://opbeans-go:3000/oopsie"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":500},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":0.35791700000000004,"id":"bfcea1d597fe7b6e","name":"SELECT FROM products","timestamp":1646055637198502,"trace_id":"431e41ae34a1ad806d5b59aab2acc3de","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"431e41ae34a1ad80","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"431e41ae34a1ad80"}} +{"transaction":{"duration":0.594583,"id":"431e41ae34a1ad80","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055637198483,"trace_id":"431e41ae34a1ad806d5b59aab2acc3de","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.37125,"id":"7ef46865d5c036d7","name":"SELECT FROM orders","timestamp":1646055637216730,"trace_id":"d7dcb519e603afd16da62c8c99897ade","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"26f4b84771ebf402","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"26f4b84771ebf402"}} +{"transaction":{"duration":2.293083,"id":"26f4b84771ebf402","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055637216721,"trace_id":"d7dcb519e603afd16da62c8c99897ade","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-d7dcb519e603afd16da62c8c99897ade-564621fba91c9ced-01","Traceparent":"00-d7dcb519e603afd16da62c8c99897ade-564621fba91c9ced-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"564621fba91c9ced","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.418584,"id":"9a29fa3325c1e339","name":"Request","timestamp":1646055637216652,"trace_id":"d7dcb519e603afd16da62c8c99897ade","type":"external","action":"request","outcome":"success","parent_id":"564621fba91c9ced","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d7dcb519e603afd1"}} +{"span":{"duration":0.148042,"id":"ab3b28199356d9d1","name":"Response","timestamp":1646055637219073,"trace_id":"d7dcb519e603afd16da62c8c99897ade","type":"external","action":"response","outcome":"success","parent_id":"564621fba91c9ced","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d7dcb519e603afd1"}} +{"span":{"duration":2.588,"id":"564621fba91c9ced","name":"GET opbeans-go:3000","timestamp":1646055637216633,"trace_id":"d7dcb519e603afd16da62c8c99897ade","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"d7dcb519e603afd1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d7dcb519e603afd1"}} +{"transaction":{"duration":2.875833,"id":"d7dcb519e603afd1","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055637216412,"trace_id":"d7dcb519e603afd16da62c8c99897ade","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:37 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.171375,"id":"7c476a5a7b295fc2","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055637238272,"trace_id":"7c476a5a7b295fc2f12d1b0e3cc2e740","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f12d1b0e3cc2e740","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.355209,"id":"2bf177c4e3381ee8","name":"SELECT FROM customers","timestamp":1646055637255628,"trace_id":"2c5c34808cada3ff959b5b887a0bda36","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2c5c34808cada3ff","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2c5c34808cada3ff"}} +{"transaction":{"duration":0.480292,"id":"2c5c34808cada3ff","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055637255577,"trace_id":"2c5c34808cada3ff959b5b887a0bda36","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/5309","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/5309"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.39837500000000003,"id":"7641d3af40582d6c","name":"DNS opbeans-node","timestamp":1646055637273448,"trace_id":"025499b1c2753ca8dfcedc2379e10099","type":"external","action":"dns","outcome":"success","parent_id":"b20de3b63d9d4f13","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"025499b1c2753ca8"}} +{"span":{"duration":0.12075,"id":"2596f7f975bf120e","name":"Connect 172.23.0.10:3000","timestamp":1646055637273851,"trace_id":"025499b1c2753ca8dfcedc2379e10099","type":"external","action":"connect","outcome":"success","parent_id":"b20de3b63d9d4f13","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"025499b1c2753ca8"}} +{"span":{"duration":43.426625,"id":"144c2530d08f1723","name":"Request","timestamp":1646055637273982,"trace_id":"025499b1c2753ca8dfcedc2379e10099","type":"external","action":"request","outcome":"success","parent_id":"b20de3b63d9d4f13","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"025499b1c2753ca8"}} +{"span":{"duration":0.049957999999999995,"id":"2276dd220d41dcd2","name":"Response","timestamp":1646055637317433,"trace_id":"025499b1c2753ca8dfcedc2379e10099","type":"external","action":"response","outcome":"success","parent_id":"b20de3b63d9d4f13","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"025499b1c2753ca8"}} +{"span":{"duration":44.087375,"id":"b20de3b63d9d4f13","name":"GET opbeans-node:3000","timestamp":1646055637273396,"trace_id":"025499b1c2753ca8dfcedc2379e10099","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products","status_code":200}},"outcome":"success","parent_id":"025499b1c2753ca8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"025499b1c2753ca8"}} +{"transaction":{"duration":44.755667,"id":"025499b1c2753ca8","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055637273198,"trace_id":"025499b1c2753ca8dfcedc2379e10099","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:37 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"1023","Etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\""},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.5315,"id":"8cb25a747591ddb3","name":"SELECT FROM products","timestamp":1646055637337190,"trace_id":"09219f20225d2a897952941c092cd039","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"09219f20225d2a89","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"09219f20225d2a89"}} +{"transaction":{"duration":1.6774170000000002,"id":"09219f20225d2a89","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055637337158,"trace_id":"09219f20225d2a897952941c092cd039","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.25225,"id":"fba2b13d39666a8e","name":"SELECT FROM orders","timestamp":1646055637357905,"trace_id":"48336b9dab35f33435700ff18ce91c31","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"48336b9dab35f334","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"48336b9dab35f334"}} +{"span":{"duration":1.033625,"id":"009c167d5709c6a5","name":"SELECT FROM products","timestamp":1646055637358198,"trace_id":"48336b9dab35f33435700ff18ce91c31","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"48336b9dab35f334","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"48336b9dab35f334"}} +{"transaction":{"duration":1.579291,"id":"48336b9dab35f334","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055637357888,"trace_id":"48336b9dab35f33435700ff18ce91c31","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/23","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/23"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.219708,"id":"3501546115385024","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055637380025,"trace_id":"35015461153850240d1958b78463105c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"0d1958b78463105c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.222583,"id":"cd6fb1f6834ec72a","name":"SELECT FROM customers","timestamp":1646055637399783,"trace_id":"8f4082a57c7e61f6da6674a3f348b8ea","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8f4082a57c7e61f6","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8f4082a57c7e61f6"}} +{"transaction":{"duration":2.054291,"id":"8f4082a57c7e61f6","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055637399763,"trace_id":"8f4082a57c7e61f6da6674a3f348b8ea","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":125.32124999999999,"id":"3ddf9cc655b7de8f","name":"Request","timestamp":1646055637423509,"trace_id":"004a22684d8bce122027887132d0c9b8","type":"external","action":"request","outcome":"success","parent_id":"e010757464fae0a4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"004a22684d8bce12"}} +{"span":{"duration":0.15175,"id":"245e1eef76aa7667","name":"Response","timestamp":1646055637548866,"trace_id":"004a22684d8bce122027887132d0c9b8","type":"external","action":"response","outcome":"success","parent_id":"e010757464fae0a4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"004a22684d8bce12"}} +{"span":{"duration":125.531584,"id":"e010757464fae0a4","name":"GET opbeans-node:3000","timestamp":1646055637423487,"trace_id":"004a22684d8bce122027887132d0c9b8","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"004a22684d8bce12","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"004a22684d8bce12"}} +{"transaction":{"duration":126.006791,"id":"004a22684d8bce12","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055637423253,"trace_id":"004a22684d8bce122027887132d0c9b8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Permitted-Cross-Domain-Policies":"none","Date":"Mon, 28 Feb 2022 13:40:37 GMT","X-Xss-Protection":"1; mode=block","Referrer-Policy":"strict-origin-when-cross-origin","X-Request-Id":"3a23660c-ad30-4ae1-989f-9c68c68a6582","X-Download-Options":"noopen","Etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","X-Content-Type-Options":"nosniff","X-Runtime":"0.062799","X-Powered-By":"Express","X-Frame-Options":"SAMEORIGIN","Content-Type":"application/json; charset=utf-8","Cache-Control":"max-age=0, private, must-revalidate"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.427084,"id":"0dd6e3bb5884ebc7","name":"DNS opbeans-python","timestamp":1646055637574453,"trace_id":"ab9056605a0f04e9e892ad4488bd84f0","type":"external","action":"dns","outcome":"success","parent_id":"bf18bc28a2deec55","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a886fbf692f281de"}} +{"span":{"duration":0.13425,"id":"6af7643326c20f84","name":"Connect 172.23.0.11:3000","timestamp":1646055637574885,"trace_id":"ab9056605a0f04e9e892ad4488bd84f0","type":"external","action":"connect","outcome":"success","parent_id":"bf18bc28a2deec55","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a886fbf692f281de"}} +{"span":{"duration":1.390166,"id":"c4fd66810d35a629","name":"SELECT FROM orders","timestamp":1646055637650677,"trace_id":"e5d4e0374b01c1d60e3fd74c8c0e4932","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9b9300fa130df5d5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9b9300fa130df5d5"}} +{"transaction":{"duration":4.397749999999999,"id":"9b9300fa130df5d5","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055637650655,"trace_id":"e5d4e0374b01c1d60e3fd74c8c0e4932","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Elastic-Apm-Traceparent":"00-e5d4e0374b01c1d60e3fd74c8c0e4932-078af4ae815041c5-01","Connection":"close","Traceparent":"00-e5d4e0374b01c1d60e3fd74c8c0e4932-078af4ae815041c5-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"078af4ae815041c5","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":108.29475,"id":"4d41f3a920209b38","name":"Request","timestamp":1646055637575032,"trace_id":"ab9056605a0f04e9e892ad4488bd84f0","type":"external","action":"request","outcome":"success","parent_id":"bf18bc28a2deec55","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a886fbf692f281de"}} +{"span":{"duration":0.5539580000000001,"id":"14426f45861a7934","name":"Response","timestamp":1646055637683365,"trace_id":"ab9056605a0f04e9e892ad4488bd84f0","type":"external","action":"response","outcome":"success","parent_id":"bf18bc28a2deec55","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a886fbf692f281de"}} +{"span":{"duration":109.505167,"id":"bf18bc28a2deec55","name":"POST opbeans-python:3000","timestamp":1646055637574419,"trace_id":"ab9056605a0f04e9e892ad4488bd84f0","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"a886fbf692f281de","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a886fbf692f281de"}} +{"transaction":{"duration":109.810875,"id":"a886fbf692f281de","name":"POST /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055637574375,"trace_id":"ab9056605a0f04e9e892ad4488bd84f0","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept-Encoding":"gzip, deflate","X-Forwarded-For":"172.23.0.14","Content-Length":"55","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Content-Type":"text/plain; charset=utf-8","Elastic-Apm-Traceparent":"00-ab9056605a0f04e9e892ad4488bd84f0-a222ea60678d038c-01","Traceparent":"00-ab9056605a0f04e9e892ad4488bd84f0-a222ea60678d038c-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:37 GMT","Content-Length":"13","Vary":"Cookie","Referrer-Policy":"same-origin","Content-Type":"application/json","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a222ea60678d038c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":110.18570799999999,"id":"bddb3a18b671cb28","name":"Request","timestamp":1646055637574230,"trace_id":"ab9056605a0f04e9e892ad4488bd84f0","type":"external","action":"request","outcome":"success","parent_id":"a222ea60678d038c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ab9056605a0f04e9"}} +{"span":{"duration":0.031207999999999996,"id":"26c3a5ba54c6f42f","name":"Response","timestamp":1646055637684423,"trace_id":"ab9056605a0f04e9e892ad4488bd84f0","type":"external","action":"response","outcome":"success","parent_id":"a222ea60678d038c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ab9056605a0f04e9"}} +{"span":{"duration":110.277083,"id":"a222ea60678d038c","name":"POST opbeans-go:3000","timestamp":1646055637574178,"trace_id":"ab9056605a0f04e9e892ad4488bd84f0","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"ab9056605a0f04e9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ab9056605a0f04e9"}} +{"transaction":{"duration":111.130375,"id":"ab9056605a0f04e9","name":"POST /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055637573811,"trace_id":"ab9056605a0f04e9e892ad4488bd84f0","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"55","Content-Type":"text/plain; charset=utf-8","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:40:37 GMT","Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"13"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.46,"id":"862484b56314e56b","name":"SELECT FROM customers","timestamp":1646055637707756,"trace_id":"55561f8488e13b075b0ce627e1bca41a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"55561f8488e13b07","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"55561f8488e13b07"}} +{"transaction":{"duration":0.567541,"id":"55561f8488e13b07","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055637707735,"trace_id":"55561f8488e13b075b0ce627e1bca41a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/363","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/363"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":89.21533299999999,"id":"e01a339773fd5557","name":"Request","timestamp":1646055637726665,"trace_id":"658e7fe53c279f38df98c67d22686e4a","type":"external","action":"request","outcome":"success","parent_id":"fd735ff03a9bb4ff","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"658e7fe53c279f38"}} +{"span":{"duration":0.18620799999999998,"id":"fb7cf92fc481ab13","name":"Response","timestamp":1646055637815903,"trace_id":"658e7fe53c279f38df98c67d22686e4a","type":"external","action":"response","outcome":"success","parent_id":"fd735ff03a9bb4ff","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"658e7fe53c279f38"}} +{"span":{"duration":89.44525,"id":"fd735ff03a9bb4ff","name":"GET opbeans-ruby:3000","timestamp":1646055637726644,"trace_id":"658e7fe53c279f38df98c67d22686e4a","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"658e7fe53c279f38","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"658e7fe53c279f38"}} +{"transaction":{"duration":89.784458,"id":"658e7fe53c279f38","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055637726450,"trace_id":"658e7fe53c279f38df98c67d22686e4a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Xss-Protection":"1; mode=block","X-Content-Type-Options":"nosniff","Referrer-Policy":"strict-origin-when-cross-origin","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"SAMEORIGIN","Vary":"Accept","X-Request-Id":"000962b2-887b-4296-b370-50f1606b45a7","Etag":"W/\"195dc75dd23c6abbf5c85d7fd3d619d1\"","X-Runtime":"0.081010","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","Cache-Control":"max-age=0, private, must-revalidate"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.432,"id":"f141b2210a07f6d4","name":"DNS opbeans-node","timestamp":1646055637835498,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"external","action":"dns","outcome":"success","parent_id":"94facab18c2b0473","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b3f315ee61b56e8e"}} +{"span":{"duration":0.9334169999999999,"id":"fa34e39d8b0c46bf","name":"Connect 172.23.0.10:3000","timestamp":1646055637835934,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"external","action":"connect","outcome":"success","parent_id":"94facab18c2b0473","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b3f315ee61b56e8e"}} +{"span":{"duration":0.302417,"id":"512e1efa766f0829","name":"DNS opbeans-node","timestamp":1646055637866460,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"external","action":"dns","outcome":"success","parent_id":"b34d4b7cb2884270","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5975776fbcac9bc3"}} +{"span":{"duration":0.11333299999999999,"id":"e1661c4b19dda7c1","name":"Connect 172.23.0.10:3000","timestamp":1646055637866775,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"external","action":"connect","outcome":"success","parent_id":"b34d4b7cb2884270","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5975776fbcac9bc3"}} +{"span":{"duration":19.203166,"id":"b930a2432066880a","name":"Request","timestamp":1646055637866897,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"external","action":"request","outcome":"success","parent_id":"b34d4b7cb2884270","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5975776fbcac9bc3"}} +{"span":{"duration":0.060000000000000005,"id":"78e885a3a89d45e5","name":"Response","timestamp":1646055637886136,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"external","action":"response","outcome":"success","parent_id":"b34d4b7cb2884270","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5975776fbcac9bc3"}} +{"span":{"duration":19.773041000000003,"id":"b34d4b7cb2884270","name":"GET opbeans-node:3000","timestamp":1646055637866424,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/2/customers","status_code":200}},"outcome":"success","parent_id":"5975776fbcac9bc3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5975776fbcac9bc3"}} +{"transaction":{"duration":20.027583,"id":"5975776fbcac9bc3","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055637866268,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"Connection":"keep-alive","Traceparent":"00-8b4f882ca4ae9514e64ea9923ec27d39-1ec55eb3506bfcc4-01","Elastic-Apm-Traceparent":"00-8b4f882ca4ae9514e64ea9923ec27d39-1ec55eb3506bfcc4-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"4827","Etag":"W/\"12db-CVjfNlJXPDdUOB1pLPihBDfjg34\"","Date":"Mon, 28 Feb 2022 13:40:37 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"1ec55eb3506bfcc4","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":64.571875,"id":"14c54e6a88bf0211","name":"Request","timestamp":1646055637836884,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"external","action":"request","outcome":"success","parent_id":"94facab18c2b0473","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b3f315ee61b56e8e"}} +{"span":{"duration":0.200459,"id":"ad8a01b8bc041339","name":"Response","timestamp":1646055637901491,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"external","action":"response","outcome":"success","parent_id":"94facab18c2b0473","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b3f315ee61b56e8e"}} +{"span":{"duration":66.273542,"id":"94facab18c2b0473","name":"GET opbeans-node:3000","timestamp":1646055637835419,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/2/customers","status_code":200}},"outcome":"success","parent_id":"b3f315ee61b56e8e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b3f315ee61b56e8e"}} +{"transaction":{"duration":66.422584,"id":"b3f315ee61b56e8e","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055637835395,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-8b4f882ca4ae9514e64ea9923ec27d39-700d011f001d850c-01","Traceparent":"00-8b4f882ca4ae9514e64ea9923ec27d39-700d011f001d850c-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"X-Powered-By":"Express","Server":"gunicorn","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:37 GMT","Vary":"Cookie","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Content-Length":"4827"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"700d011f001d850c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":66.533834,"id":"2de0785cfba652e5","name":"Request","timestamp":1646055637835326,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"external","action":"request","outcome":"success","parent_id":"700d011f001d850c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8b4f882ca4ae9514"}} +{"span":{"duration":0.031916,"id":"1ee7894810715d7e","name":"Response","timestamp":1646055637901864,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"external","action":"response","outcome":"success","parent_id":"700d011f001d850c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8b4f882ca4ae9514"}} +{"span":{"duration":66.591375,"id":"700d011f001d850c","name":"GET opbeans-go:3000","timestamp":1646055637835305,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/2/customers","status_code":200}},"outcome":"success","parent_id":"8b4f882ca4ae9514","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8b4f882ca4ae9514"}} +{"transaction":{"duration":66.78329199999999,"id":"8b4f882ca4ae9514","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055637835168,"trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","X-Powered-By":"Express","Content-Length":"4827","Server":"gunicorn","Referrer-Policy":"same-origin","Vary":"Cookie","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:37 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.38095799999999996,"id":"56412cd24f312330","name":"DNS opbeans-python","timestamp":1646055637920462,"trace_id":"b0de3f64d363f171062406e8e38864ab","type":"external","action":"dns","outcome":"success","parent_id":"d34f14849af19937","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b0de3f64d363f171"}} +{"span":{"duration":0.13466699999999998,"id":"9fb802b2f33697a5","name":"Connect 172.23.0.11:3000","timestamp":1646055637920847,"trace_id":"b0de3f64d363f171062406e8e38864ab","type":"external","action":"connect","outcome":"success","parent_id":"d34f14849af19937","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b0de3f64d363f171"}} +{"span":{"duration":94.150583,"id":"0c16330f3f762080","name":"Request","timestamp":1646055637920992,"trace_id":"b0de3f64d363f171062406e8e38864ab","type":"external","action":"request","outcome":"success","parent_id":"d34f14849af19937","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b0de3f64d363f171"}} +{"span":{"duration":2.991583,"id":"812196265453e36c","name":"Response","timestamp":1646055638015169,"trace_id":"b0de3f64d363f171062406e8e38864ab","type":"external","action":"response","outcome":"success","parent_id":"d34f14849af19937","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b0de3f64d363f171"}} +{"span":{"duration":97.746334,"id":"d34f14849af19937","name":"GET opbeans-python:3000","timestamp":1646055637920417,"trace_id":"b0de3f64d363f171062406e8e38864ab","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"b0de3f64d363f171","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b0de3f64d363f171"}} +{"transaction":{"duration":97.996917,"id":"b0de3f64d363f171","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055637920251,"trace_id":"b0de3f64d363f171062406e8e38864ab","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:38 GMT","Content-Type":"application/json","Content-Length":"203686","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","X-Frame-Options":"DENY","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.2565,"id":"06248fcd98a6ae49","name":"SELECT FROM products","timestamp":1646055638034789,"trace_id":"4992b916bd21ec810b29b8c66f185561","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4992b916bd21ec81","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4992b916bd21ec81"}} +{"transaction":{"duration":0.399375,"id":"4992b916bd21ec81","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055638034773,"trace_id":"4992b916bd21ec810b29b8c66f185561","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":34.436125,"id":"d84d463ede7ff28a","name":"Request","timestamp":1646055638052665,"trace_id":"fe7e319ee26dd45800950505788016bd","type":"external","action":"request","outcome":"success","parent_id":"777dae58a28aad6d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fe7e319ee26dd458"}} +{"span":{"duration":0.132916,"id":"a07f1466167200d6","name":"Response","timestamp":1646055638087189,"trace_id":"fe7e319ee26dd45800950505788016bd","type":"external","action":"response","outcome":"success","parent_id":"777dae58a28aad6d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fe7e319ee26dd458"}} +{"span":{"duration":34.755416999999994,"id":"777dae58a28aad6d","name":"GET opbeans-ruby:3000","timestamp":1646055638052568,"trace_id":"fe7e319ee26dd45800950505788016bd","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"fe7e319ee26dd458","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fe7e319ee26dd458"}} +{"transaction":{"duration":35.094083,"id":"fe7e319ee26dd458","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055638052349,"trace_id":"fe7e319ee26dd45800950505788016bd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Download-Options":"noopen","X-Runtime":"0.025474","Content-Type":"application/json; charset=utf-8","Cache-Control":"max-age=0, private, must-revalidate","X-Content-Type-Options":"nosniff","Vary":"Accept","Etag":"W/\"32a6f2ac22b5ec871f35104a05ba3759\"","X-Request-Id":"24a883c2-7504-49e0-8537-d0fbf8f0b4bd","X-Frame-Options":"SAMEORIGIN","X-Xss-Protection":"1; mode=block","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":47.940709,"id":"731b466351dfe53a","name":"Request","timestamp":1646055638137522,"trace_id":"bab833aee57fc958acd773eac00832ff","type":"external","action":"request","outcome":"success","parent_id":"362a766b4ff1d96d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f05282a190292698"}} +{"span":{"duration":77.54525,"id":"6ba90c5412ff5218","name":"Request","timestamp":1646055638110528,"trace_id":"a06a9d6036e80fd2a13cb4fe310d9c80","type":"external","action":"request","outcome":"success","parent_id":"76e8ec855dfa4ea2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fc5cda6a5bf80e55"}} +{"span":{"duration":0.098416,"id":"af672d98bbf5bc1e","name":"Response","timestamp":1646055638188093,"trace_id":"a06a9d6036e80fd2a13cb4fe310d9c80","type":"external","action":"response","outcome":"success","parent_id":"76e8ec855dfa4ea2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fc5cda6a5bf80e55"}} +{"span":{"duration":77.709,"id":"76e8ec855dfa4ea2","name":"GET opbeans-ruby:3000","timestamp":1646055638110483,"trace_id":"a06a9d6036e80fd2a13cb4fe310d9c80","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"fc5cda6a5bf80e55","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fc5cda6a5bf80e55"}} +{"transaction":{"duration":77.84604200000001,"id":"fc5cda6a5bf80e55","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055638110446,"trace_id":"a06a9d6036e80fd2a13cb4fe310d9c80","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-a06a9d6036e80fd2a13cb4fe310d9c80-e6b1448cec45afc9-01","Traceparent":"00-a06a9d6036e80fd2a13cb4fe310d9c80-e6b1448cec45afc9-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e6b1448cec45afc9","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":78.04445799999999,"id":"342cefafb7d1909a","name":"Request","timestamp":1646055638110320,"trace_id":"a06a9d6036e80fd2a13cb4fe310d9c80","type":"external","action":"request","outcome":"success","parent_id":"e6b1448cec45afc9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a06a9d6036e80fd2"}} +{"span":{"duration":0.059290999999999996,"id":"3ca846080d5541cf","name":"Response","timestamp":1646055638188369,"trace_id":"a06a9d6036e80fd2a13cb4fe310d9c80","type":"external","action":"response","outcome":"success","parent_id":"e6b1448cec45afc9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a06a9d6036e80fd2"}} +{"span":{"duration":78.12704199999999,"id":"e6b1448cec45afc9","name":"GET opbeans-go:3000","timestamp":1646055638110301,"trace_id":"a06a9d6036e80fd2a13cb4fe310d9c80","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"a06a9d6036e80fd2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a06a9d6036e80fd2"}} +{"transaction":{"duration":78.269042,"id":"a06a9d6036e80fd2","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055638110211,"trace_id":"a06a9d6036e80fd2a13cb4fe310d9c80","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:38 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":7.283042,"id":"a1fe5733bf8099e5","name":"Response","timestamp":1646055638185498,"trace_id":"bab833aee57fc958acd773eac00832ff","type":"external","action":"response","outcome":"success","parent_id":"362a766b4ff1d96d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f05282a190292698"}} +{"span":{"duration":55.31725,"id":"362a766b4ff1d96d","name":"GET opbeans-ruby:3000","timestamp":1646055638137503,"trace_id":"bab833aee57fc958acd773eac00832ff","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products","status_code":200}},"outcome":"success","parent_id":"f05282a190292698","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f05282a190292698"}} +{"transaction":{"duration":55.500792,"id":"f05282a190292698","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055638137441,"trace_id":"bab833aee57fc958acd773eac00832ff","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-bab833aee57fc958acd773eac00832ff-31c7a9e64b99b337-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-bab833aee57fc958acd773eac00832ff-31c7a9e64b99b337-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Request-Id":"2d0ed32b-30ac-453e-80e7-38fd50d58b2d","X-Runtime":"0.034417","X-Content-Type-Options":"nosniff","Referrer-Policy":"strict-origin-when-cross-origin","X-Download-Options":"noopen","Cache-Control":"max-age=0, private, must-revalidate","X-Frame-Options":"SAMEORIGIN","X-Xss-Protection":"1; mode=block","Etag":"W/\"e7a2362bf423f315691b319c14409fa6\"","X-Permitted-Cross-Domain-Policies":"none","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"31c7a9e64b99b337","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":92.104,"id":"ded583c212048476","name":"Request","timestamp":1646055638114713,"trace_id":"bab833aee57fc958acd773eac00832ff","type":"external","action":"request","outcome":"success","parent_id":"625147ea995bb5b3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4e6634918acc415a"}} +{"span":{"duration":0.11175,"id":"a29ca4357893fa45","name":"Response","timestamp":1646055638206835,"trace_id":"bab833aee57fc958acd773eac00832ff","type":"external","action":"response","outcome":"success","parent_id":"625147ea995bb5b3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4e6634918acc415a"}} +{"span":{"duration":92.254041,"id":"625147ea995bb5b3","name":"GET opbeans-node:3000","timestamp":1646055638114694,"trace_id":"bab833aee57fc958acd773eac00832ff","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products","status_code":200}},"outcome":"success","parent_id":"4e6634918acc415a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4e6634918acc415a"}} +{"transaction":{"duration":92.659458,"id":"4e6634918acc415a","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055638114456,"trace_id":"bab833aee57fc958acd773eac00832ff","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-bab833aee57fc958acd773eac00832ff-3be433520203604f-01","Connection":"close","Traceparent":"00-bab833aee57fc958acd773eac00832ff-3be433520203604f-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:38 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"3be433520203604f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.3385829999999999,"id":"68778fa8b5c0b734","name":"SELECT FROM customers","timestamp":1646055638207900,"trace_id":"0fbf31f442de875a2be977fc622b7c80","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0fbf31f442de875a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0fbf31f442de875a"}} +{"transaction":{"duration":2.594125,"id":"0fbf31f442de875a","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055638207879,"trace_id":"0fbf31f442de875a2be977fc622b7c80","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","search":"limit=60","full":"http://opbeans-go:3000/api/products/3/customers?limit=60"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.501208,"id":"2af88063b3cb4c65","name":"SELECT FROM customers","timestamp":1646055638234250,"trace_id":"c60bf53f0ead3e96b163278f5ef1ef30","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c60bf53f0ead3e96","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c60bf53f0ead3e96"}} +{"transaction":{"duration":5.489,"id":"c60bf53f0ead3e96","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055638234232,"trace_id":"c60bf53f0ead3e96b163278f5ef1ef30","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.9495,"id":"d3f6644c073a2fd9","name":"DNS opbeans-python","timestamp":1646055638263782,"trace_id":"30d70d00efa384d79556a64d1d4eb455","type":"external","action":"dns","outcome":"success","parent_id":"31d28461e2a5dbbc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"30d70d00efa384d7"}} +{"span":{"duration":0.228125,"id":"b9a097069a72a709","name":"Connect 172.23.0.11:3000","timestamp":1646055638264737,"trace_id":"30d70d00efa384d79556a64d1d4eb455","type":"external","action":"connect","outcome":"success","parent_id":"31d28461e2a5dbbc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"30d70d00efa384d7"}} +{"span":{"duration":47.135417,"id":"3c1ae4b3da805152","name":"Request","timestamp":1646055638264992,"trace_id":"30d70d00efa384d79556a64d1d4eb455","type":"external","action":"request","outcome":"success","parent_id":"31d28461e2a5dbbc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"30d70d00efa384d7"}} +{"span":{"duration":2.5782079999999996,"id":"523bbd06384c40c1","name":"Response","timestamp":1646055638312155,"trace_id":"30d70d00efa384d79556a64d1d4eb455","type":"external","action":"response","outcome":"success","parent_id":"31d28461e2a5dbbc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"30d70d00efa384d7"}} +{"span":{"duration":51.200083,"id":"31d28461e2a5dbbc","name":"GET opbeans-python:3000","timestamp":1646055638263537,"trace_id":"30d70d00efa384d79556a64d1d4eb455","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"30d70d00efa384d7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"30d70d00efa384d7"}} +{"transaction":{"duration":51.426624999999994,"id":"30d70d00efa384d7","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055638263423,"trace_id":"30d70d00efa384d79556a64d1d4eb455","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","Content-Length":"309","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:38 GMT","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.821875,"id":"dabedf7b1b11d628","name":"SELECT FROM customers","timestamp":1646055638332697,"trace_id":"3eb300e079310f968eda32e81e7758c0","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3eb300e079310f96","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3eb300e079310f96"}} +{"transaction":{"duration":2.3624169999999998,"id":"3eb300e079310f96","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055638332672,"trace_id":"3eb300e079310f968eda32e81e7758c0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","search":"limit=90","full":"http://opbeans-go:3000/api/products/3/customers?limit=90"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.453,"id":"ebd8067b8551fe9b","name":"SELECT FROM customers","timestamp":1646055638355521,"trace_id":"9c6ede73b89930848085f4407bb723d4","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9c6ede73b8993084","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9c6ede73b8993084"}} +{"span":{"duration":0.129542,"id":"a6906d83a03bee2e","name":"INSERT INTO order_lines","timestamp":1646055638356198,"trace_id":"9c6ede73b89930848085f4407bb723d4","type":"db","action":"prepare","context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9c6ede73b8993084","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9c6ede73b8993084"}} +{"span":{"duration":1.5070420000000002,"id":"1e2f1122fde528ce","name":"INSERT INTO orders","timestamp":1646055638356332,"trace_id":"9c6ede73b89930848085f4407bb723d4","type":"db","action":"query","context":{"db":{"statement":"INSERT INTO orders (customer_id) VALUES ($1) RETURNING id","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9c6ede73b8993084","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9c6ede73b8993084"}} +{"span":{"duration":0.463459,"id":"cd4810512b85885e","name":"INSERT INTO order_lines","timestamp":1646055638357864,"trace_id":"9c6ede73b89930848085f4407bb723d4","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9c6ede73b8993084","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9c6ede73b8993084"}} +{"span":{"duration":0.09925,"id":"3a0c981827365926","name":"INSERT INTO order_lines","timestamp":1646055638358332,"trace_id":"9c6ede73b89930848085f4407bb723d4","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9c6ede73b8993084","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9c6ede73b8993084"}} +{"span":{"duration":0.285167,"id":"8e54f97e7519277e","name":"INSERT INTO order_lines","timestamp":1646055638358435,"trace_id":"9c6ede73b89930848085f4407bb723d4","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9c6ede73b8993084","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9c6ede73b8993084"}} +{"transaction":{"duration":4.478542,"id":"9c6ede73b8993084","name":"POST /api/orders","span_count":{"dropped":0,"started":6},"timestamp":1646055638355326,"trace_id":"9c6ede73b89930848085f4407bb723d4","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"103","Content-Type":"text/plain; charset=utf-8"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"customer_name":"Chris Gibson","customer_email":"cgibson7t@google.ru"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.387375,"id":"acbf4b3766a1b9e7","name":"SELECT FROM product_types","timestamp":1646055638378560,"trace_id":"4cace59260811663fdb4e969d739b786","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4cace59260811663","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4cace59260811663"}} +{"transaction":{"duration":0.507625,"id":"4cace59260811663","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055638378522,"trace_id":"4cace59260811663fdb4e969d739b786","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.24108300000000002,"id":"2108886716bf5604","name":"SELECT FROM product_types","timestamp":1646055638396270,"trace_id":"cb2d0a6f8fcbbec8ab04aa648b1fbbbf","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"cb2d0a6f8fcbbec8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"cb2d0a6f8fcbbec8"}} +{"transaction":{"duration":0.403542,"id":"cb2d0a6f8fcbbec8","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055638396255,"trace_id":"cb2d0a6f8fcbbec8ab04aa648b1fbbbf","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.469833,"id":"7296e6bd3ee8b1a2","name":"DNS opbeans-node","timestamp":1646055638416024,"trace_id":"4ba3a479d89ab2f9bd80bdbf1262635e","type":"external","action":"dns","outcome":"success","parent_id":"eea7d5d1e9b85400","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"38e29d7836cebf35"}} +{"span":{"duration":0.24737499999999998,"id":"65274dfb1e4f7014","name":"Connect 172.23.0.10:3000","timestamp":1646055638416498,"trace_id":"4ba3a479d89ab2f9bd80bdbf1262635e","type":"external","action":"connect","outcome":"success","parent_id":"eea7d5d1e9b85400","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"38e29d7836cebf35"}} +{"span":{"duration":63.38745899999999,"id":"54164d5ed0566e86","name":"Request","timestamp":1646055638416763,"trace_id":"4ba3a479d89ab2f9bd80bdbf1262635e","type":"external","action":"request","outcome":"success","parent_id":"eea7d5d1e9b85400","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"38e29d7836cebf35"}} +{"span":{"duration":0.101709,"id":"614c57da05a7456e","name":"Response","timestamp":1646055638480202,"trace_id":"4ba3a479d89ab2f9bd80bdbf1262635e","type":"external","action":"response","outcome":"success","parent_id":"eea7d5d1e9b85400","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"38e29d7836cebf35"}} +{"span":{"duration":64.341125,"id":"eea7d5d1e9b85400","name":"GET opbeans-node:3000","timestamp":1646055638415964,"trace_id":"4ba3a479d89ab2f9bd80bdbf1262635e","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders/831","status_code":404}},"outcome":"failure","parent_id":"38e29d7836cebf35","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"38e29d7836cebf35"}} +{"transaction":{"duration":64.65375,"id":"38e29d7836cebf35","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055638415889,"trace_id":"4ba3a479d89ab2f9bd80bdbf1262635e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/831","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/831"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-4ba3a479d89ab2f9bd80bdbf1262635e-377255ccdb31bb65-01","Traceparent":"00-4ba3a479d89ab2f9bd80bdbf1262635e-377255ccdb31bb65-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"X-Powered-By":"Express","Date":"Mon, 28 Feb 2022 13:40:38 GMT","Content-Length":"0"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"377255ccdb31bb65","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":65.326708,"id":"ca1b71231042a4c8","name":"Request","timestamp":1646055638415782,"trace_id":"4ba3a479d89ab2f9bd80bdbf1262635e","type":"external","action":"request","outcome":"success","parent_id":"377255ccdb31bb65","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4ba3a479d89ab2f9"}} +{"span":{"duration":0.031,"id":"d3dcffd223710471","name":"Response","timestamp":1646055638481120,"trace_id":"4ba3a479d89ab2f9bd80bdbf1262635e","type":"external","action":"response","outcome":"success","parent_id":"377255ccdb31bb65","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4ba3a479d89ab2f9"}} +{"span":{"duration":65.390833,"id":"377255ccdb31bb65","name":"GET opbeans-go:3000","timestamp":1646055638415761,"trace_id":"4ba3a479d89ab2f9bd80bdbf1262635e","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/831","status_code":404}},"outcome":"failure","parent_id":"4ba3a479d89ab2f9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4ba3a479d89ab2f9"}} +{"transaction":{"duration":65.97945800000001,"id":"4ba3a479d89ab2f9","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055638415527,"trace_id":"4ba3a479d89ab2f9bd80bdbf1262635e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/831","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/831"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"0","Date":"Mon, 28 Feb 2022 13:40:38 GMT","X-Powered-By":"Express"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"transaction":{"duration":0.13349999999999998,"id":"4e8acaeffa9bc2c2","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055638507068,"trace_id":"4e8acaeffa9bc2c2cf30eee354d1eb55","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"cf30eee354d1eb55","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.11316599999999999,"id":"f69efe64165d4e9d","name":"GET /oopsie","span_count":{"dropped":0,"started":0},"timestamp":1646055638526351,"trace_id":"f69efe64165d4e9df590063a464fe49f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/oopsie","port":"3000","protocol":"http","full":"http://opbeans-go:3000/oopsie"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":500},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":0.735834,"id":"9a8cc025766f1ce4","name":"SELECT FROM customers","timestamp":1646055638544941,"trace_id":"d52e6633591be2b41b89e64235f81f2b","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d52e6633591be2b4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d52e6633591be2b4"}} +{"transaction":{"duration":3.059333,"id":"d52e6633591be2b4","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055638544916,"trace_id":"d52e6633591be2b41b89e64235f81f2b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.900667,"id":"92d717b5cffa28e4","name":"DNS opbeans-python","timestamp":1646055638569016,"trace_id":"389e4b036f75138fca8a4ee0a70eec60","type":"external","action":"dns","outcome":"success","parent_id":"e8faf19b2ae73369","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"389e4b036f75138f"}} +{"span":{"duration":0.148292,"id":"fd562915f927a462","name":"Connect 172.23.0.11:3000","timestamp":1646055638569924,"trace_id":"389e4b036f75138fca8a4ee0a70eec60","type":"external","action":"connect","outcome":"success","parent_id":"e8faf19b2ae73369","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"389e4b036f75138f"}} +{"span":{"duration":1.508792,"id":"f8efa9f706240d76","name":"SELECT FROM customers","timestamp":1646055638616486,"trace_id":"389e4b036f75138fca8a4ee0a70eec60","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f367947aebb0fb58","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f367947aebb0fb58"}} +{"transaction":{"duration":3.32175,"id":"f367947aebb0fb58","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055638616448,"trace_id":"389e4b036f75138fca8a4ee0a70eec60","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3/customers"},"headers":{"Elastic-Apm-Traceparent":"00-389e4b036f75138fca8a4ee0a70eec60-cdbfc2e6d581d409-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-389e4b036f75138fca8a4ee0a70eec60-cdbfc2e6d581d409-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"cdbfc2e6d581d409","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":71.61616699999999,"id":"9b65e3c4afecc783","name":"Request","timestamp":1646055638570084,"trace_id":"389e4b036f75138fca8a4ee0a70eec60","type":"external","action":"request","outcome":"success","parent_id":"e8faf19b2ae73369","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"389e4b036f75138f"}} +{"span":{"duration":0.263542,"id":"5c6940133b8f4d5b","name":"Response","timestamp":1646055638641728,"trace_id":"389e4b036f75138fca8a4ee0a70eec60","type":"external","action":"response","outcome":"success","parent_id":"e8faf19b2ae73369","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"389e4b036f75138f"}} +{"span":{"duration":73.13820899999999,"id":"e8faf19b2ae73369","name":"GET opbeans-python:3000","timestamp":1646055638568854,"trace_id":"389e4b036f75138fca8a4ee0a70eec60","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/3/customers?limit=60","status_code":200}},"outcome":"success","parent_id":"389e4b036f75138f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"389e4b036f75138f"}} +{"transaction":{"duration":73.807166,"id":"389e4b036f75138f","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055638568413,"trace_id":"389e4b036f75138fca8a4ee0a70eec60","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","search":"limit=60","full":"http://opbeans-go:3000/api/products/3/customers?limit=60"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:40:38 GMT","Content-Length":"109709","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Vary":"Cookie","Server":"gunicorn","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.40429099999999996,"id":"369a5067c82bca51","name":"SELECT FROM orders","timestamp":1646055638661007,"trace_id":"fbfb7015a39ad2a86f83d11ec94b97f6","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"fbfb7015a39ad2a8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"fbfb7015a39ad2a8"}} +{"transaction":{"duration":2.101583,"id":"fbfb7015a39ad2a8","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055638660991,"trace_id":"fbfb7015a39ad2a86f83d11ec94b97f6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":38.116375,"id":"61f6486327d3dcca","name":"Request","timestamp":1646055638682832,"trace_id":"3d9470a63aed60cc2e462bc0403c2cf6","type":"external","action":"request","outcome":"success","parent_id":"357f4a0db0f2ed92","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3d9470a63aed60cc"}} +{"span":{"duration":0.139416,"id":"aeadb927aac77c78","name":"Response","timestamp":1646055638720971,"trace_id":"3d9470a63aed60cc2e462bc0403c2cf6","type":"external","action":"response","outcome":"success","parent_id":"357f4a0db0f2ed92","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3d9470a63aed60cc"}} +{"span":{"duration":38.300833,"id":"357f4a0db0f2ed92","name":"GET opbeans-ruby:3000","timestamp":1646055638682811,"trace_id":"3d9470a63aed60cc2e462bc0403c2cf6","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"3d9470a63aed60cc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3d9470a63aed60cc"}} +{"transaction":{"duration":38.584792,"id":"3d9470a63aed60cc","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055638682755,"trace_id":"3d9470a63aed60cc2e462bc0403c2cf6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"SAMEORIGIN","X-Download-Options":"noopen","Content-Type":"application/json; charset=utf-8","Etag":"W/\"6b84b8cfae4908f93f790804f2c9e7c9\"","X-Xss-Protection":"1; mode=block","Referrer-Policy":"strict-origin-when-cross-origin","Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"1cdf3509-b150-4910-a82c-f6da035d4dd2","X-Content-Type-Options":"nosniff","X-Runtime":"0.030083","X-Permitted-Cross-Domain-Policies":"none","Vary":"Accept"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.403667,"id":"95e9335e8864a504","name":"DNS opbeans-python","timestamp":1646055638738964,"trace_id":"9238d942b000c419d68a24d014a3db40","type":"external","action":"dns","outcome":"success","parent_id":"a1dcf60e943da6cd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9238d942b000c419"}} +{"span":{"duration":0.096625,"id":"bd3964362e53ff54","name":"Connect 172.23.0.11:3000","timestamp":1646055638739373,"trace_id":"9238d942b000c419d68a24d014a3db40","type":"external","action":"connect","outcome":"success","parent_id":"a1dcf60e943da6cd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9238d942b000c419"}} +{"span":{"duration":0.9835,"id":"53e4b2a4c9b0dfb2","name":"SELECT FROM customers","timestamp":1646055638766496,"trace_id":"9238d942b000c419d68a24d014a3db40","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8dd9106c749f9bb7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8dd9106c749f9bb7"}} +{"transaction":{"duration":2.326958,"id":"8dd9106c749f9bb7","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055638766475,"trace_id":"9238d942b000c419d68a24d014a3db40","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4/customers"},"headers":{"Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-9238d942b000c419d68a24d014a3db40-63a702f1afa89d44-01","Connection":"close","Traceparent":"00-9238d942b000c419d68a24d014a3db40-63a702f1afa89d44-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"63a702f1afa89d44","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":49.081792,"id":"5b56da879305d76d","name":"Request","timestamp":1646055638739479,"trace_id":"9238d942b000c419d68a24d014a3db40","type":"external","action":"request","outcome":"success","parent_id":"a1dcf60e943da6cd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9238d942b000c419"}} +{"span":{"duration":2.098542,"id":"4e3b2a49e5289599","name":"Response","timestamp":1646055638788686,"trace_id":"9238d942b000c419d68a24d014a3db40","type":"external","action":"response","outcome":"success","parent_id":"a1dcf60e943da6cd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9238d942b000c419"}} +{"span":{"duration":51.890667,"id":"a1dcf60e943da6cd","name":"GET opbeans-python:3000","timestamp":1646055638738897,"trace_id":"9238d942b000c419d68a24d014a3db40","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/4/customers","status_code":200}},"outcome":"success","parent_id":"9238d942b000c419","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9238d942b000c419"}} +{"transaction":{"duration":52.028833,"id":"9238d942b000c419","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055638738833,"trace_id":"9238d942b000c419d68a24d014a3db40","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","X-Frame-Options":"DENY","Vary":"Cookie","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:40:38 GMT","Content-Type":"application/json; charset=utf-8","Content-Length":"113094","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.32475,"id":"87f6bb390f9a1f7b","name":"SELECT FROM products","timestamp":1646055638807960,"trace_id":"d2b4e79cc8c4c3506f50885cc632f053","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d2b4e79cc8c4c350","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d2b4e79cc8c4c350"}} +{"transaction":{"duration":0.476583,"id":"d2b4e79cc8c4c350","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055638807922,"trace_id":"d2b4e79cc8c4c3506f50885cc632f053","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.28616600000000003,"id":"20a6d05eb6d55fa7","name":"SELECT FROM products","timestamp":1646055638827185,"trace_id":"743770b7b6b7609fa85d361c4a64375b","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"743770b7b6b7609f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"743770b7b6b7609f"}} +{"transaction":{"duration":0.410334,"id":"743770b7b6b7609f","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055638827167,"trace_id":"743770b7b6b7609fa85d361c4a64375b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.3185,"id":"2774fa0bc18fd636","name":"SELECT FROM products","timestamp":1646055638846564,"trace_id":"f2b6e70fef364b009ef74caec1181e8c","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f2b6e70fef364b00","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f2b6e70fef364b00"}} +{"transaction":{"duration":0.58325,"id":"f2b6e70fef364b00","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055638846542,"trace_id":"f2b6e70fef364b009ef74caec1181e8c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.213042,"id":"8955bf9ff7a992fa","name":"SELECT FROM product_types","timestamp":1646055638883062,"trace_id":"4290255047a5d3caea90d6a7f0575a1b","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"84c19a382c19df27","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"84c19a382c19df27"}} +{"transaction":{"duration":0.452208,"id":"84c19a382c19df27","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055638883046,"trace_id":"4290255047a5d3caea90d6a7f0575a1b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Elastic-Apm-Traceparent":"00-4290255047a5d3caea90d6a7f0575a1b-e2da8686322c3126-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-4290255047a5d3caea90d6a7f0575a1b-e2da8686322c3126-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e2da8686322c3126","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":26.165667,"id":"58335ce795678500","name":"Request","timestamp":1646055638869862,"trace_id":"4290255047a5d3caea90d6a7f0575a1b","type":"external","action":"request","outcome":"success","parent_id":"f4eaf682cec04dd7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4290255047a5d3ca"}} +{"span":{"duration":0.14008299999999999,"id":"58fc389e11999838","name":"Response","timestamp":1646055638896053,"trace_id":"4290255047a5d3caea90d6a7f0575a1b","type":"external","action":"response","outcome":"success","parent_id":"f4eaf682cec04dd7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4290255047a5d3ca"}} +{"span":{"duration":26.351458,"id":"f4eaf682cec04dd7","name":"GET opbeans-ruby:3000","timestamp":1646055638869843,"trace_id":"4290255047a5d3caea90d6a7f0575a1b","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"4290255047a5d3ca","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4290255047a5d3ca"}} +{"transaction":{"duration":26.678167,"id":"4290255047a5d3ca","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055638869771,"trace_id":"4290255047a5d3caea90d6a7f0575a1b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.47579099999999996,"id":"b4f43149bbad185c","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055638919399,"trace_id":"b4f43149bbad185c34a6dc2d8304a2f5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.38504099999999997,"id":"9a23d8c7e7cb4f77","name":"SELECT FROM customers","timestamp":1646055638938494,"trace_id":"33d34a81839eb2cd85179a7553c74770","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"56f1526fc0b00fdd","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"56f1526fc0b00fdd"}} +{"transaction":{"duration":0.458667,"id":"56f1526fc0b00fdd","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055638938479,"trace_id":"33d34a81839eb2cd85179a7553c74770","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/789","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/789"},"headers":{"Elastic-Apm-Traceparent":"00-33d34a81839eb2cd85179a7553c74770-c927a7d965778826-01","Traceparent":"00-33d34a81839eb2cd85179a7553c74770-c927a7d965778826-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c927a7d965778826","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.605541,"id":"e4bef631fa3b30f8","name":"Request","timestamp":1646055638938400,"trace_id":"33d34a81839eb2cd85179a7553c74770","type":"external","action":"request","outcome":"success","parent_id":"c927a7d965778826","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"33d34a81839eb2cd"}} +{"span":{"duration":0.019042000000000003,"id":"8efb93cac5d65a3f","name":"Response","timestamp":1646055638939007,"trace_id":"33d34a81839eb2cd85179a7553c74770","type":"external","action":"response","outcome":"success","parent_id":"c927a7d965778826","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"33d34a81839eb2cd"}} +{"span":{"duration":0.6445,"id":"c927a7d965778826","name":"GET opbeans-go:3000","timestamp":1646055638938382,"trace_id":"33d34a81839eb2cd85179a7553c74770","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/789","status_code":200}},"outcome":"success","parent_id":"33d34a81839eb2cd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"33d34a81839eb2cd"}} +{"transaction":{"duration":0.875,"id":"33d34a81839eb2cd","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055638938197,"trace_id":"33d34a81839eb2cd85179a7553c74770","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/789","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/789"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:38 GMT","Content-Length":"190"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.420375,"id":"627e6a703ca4efc7","name":"SELECT FROM customers","timestamp":1646055638957434,"trace_id":"9c5b530d68d9580579240bcd04b67479","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9c5b530d68d95805","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9c5b530d68d95805"}} +{"transaction":{"duration":0.688583,"id":"9c5b530d68d95805","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055638957402,"trace_id":"9c5b530d68d9580579240bcd04b67479","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/662","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/662"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.4205,"id":"6bddbde1febe20fd","name":"SELECT FROM product_types","timestamp":1646055638976004,"trace_id":"34d4e2b32fd178abc3c3d95cd218b5df","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"34d4e2b32fd178ab","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"34d4e2b32fd178ab"}} +{"transaction":{"duration":1.758167,"id":"34d4e2b32fd178ab","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055638975982,"trace_id":"34d4e2b32fd178abc3c3d95cd218b5df","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.9416249999999999,"id":"73452df421c86157","name":"SELECT FROM customers","timestamp":1646055638995219,"trace_id":"8b5f32e634f23a22f445485ba0542f4a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8b5f32e634f23a22","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8b5f32e634f23a22"}} +{"transaction":{"duration":3.96325,"id":"8b5f32e634f23a22","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055638995195,"trace_id":"8b5f32e634f23a22f445485ba0542f4a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.428167,"id":"98c8118fa84e7ae8","name":"SELECT FROM orders","timestamp":1646055639016625,"trace_id":"06a026c6677b33e7a136e4ad3487dd29","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"06a026c6677b33e7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"06a026c6677b33e7"}} +{"span":{"duration":0.49566699999999997,"id":"ba17d5825f5603f6","name":"SELECT FROM products","timestamp":1646055639017083,"trace_id":"06a026c6677b33e7a136e4ad3487dd29","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"06a026c6677b33e7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"06a026c6677b33e7"}} +{"transaction":{"duration":1.169834,"id":"06a026c6677b33e7","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055639016609,"trace_id":"06a026c6677b33e7a136e4ad3487dd29","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/941","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/941"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.9151250000000001,"id":"2fd71eba1b641f01","name":"SELECT FROM customers","timestamp":1646055639036476,"trace_id":"7c44979cfc349ae9f84ff2bc1ec9a511","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7c44979cfc349ae9","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7c44979cfc349ae9"}} +{"transaction":{"duration":2.583667,"id":"7c44979cfc349ae9","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055639036455,"trace_id":"7c44979cfc349ae9f84ff2bc1ec9a511","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","search":"limit=50","full":"http://opbeans-go:3000/api/products/2/customers?limit=50"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":23.712542,"id":"4e3826a52ea1b6c1","name":"Request","timestamp":1646055639058729,"trace_id":"8b08c526d4dc9fec3d5b39f16ccb8ab2","type":"external","action":"request","outcome":"success","parent_id":"c3a89ed19922949a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8b08c526d4dc9fec"}} +{"span":{"duration":0.27141699999999996,"id":"b7ad99cb0fe435fb","name":"Response","timestamp":1646055639082464,"trace_id":"8b08c526d4dc9fec3d5b39f16ccb8ab2","type":"external","action":"response","outcome":"success","parent_id":"c3a89ed19922949a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8b08c526d4dc9fec"}} +{"span":{"duration":24.028292,"id":"c3a89ed19922949a","name":"GET opbeans-ruby:3000","timestamp":1646055639058708,"trace_id":"8b08c526d4dc9fec3d5b39f16ccb8ab2","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"8b08c526d4dc9fec","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8b08c526d4dc9fec"}} +{"transaction":{"duration":24.339166,"id":"8b08c526d4dc9fec","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055639058501,"trace_id":"8b08c526d4dc9fec3d5b39f16ccb8ab2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Permitted-Cross-Domain-Policies":"none","Etag":"W/\"37992d7e5d1df22332cd7c5be552ddce\"","Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"ce0fe091-8cd8-4d29-91a4-753005a4a5c2","X-Content-Type-Options":"nosniff","Referrer-Policy":"strict-origin-when-cross-origin","X-Runtime":"0.016460","X-Frame-Options":"SAMEORIGIN","X-Download-Options":"noopen","Content-Type":"application/json; charset=utf-8","X-Xss-Protection":"1; mode=block","Vary":"Accept"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":91.426625,"id":"6b7edda24d98339c","name":"Request","timestamp":1646055639104904,"trace_id":"2de4b32280770834f2c9639de5f3a4fb","type":"external","action":"request","outcome":"success","parent_id":"120558b990cd8bf4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2de4b32280770834"}} +{"span":{"duration":0.111708,"id":"6f25a5cb52037b3b","name":"Response","timestamp":1646055639196357,"trace_id":"2de4b32280770834f2c9639de5f3a4fb","type":"external","action":"response","outcome":"success","parent_id":"120558b990cd8bf4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2de4b32280770834"}} +{"span":{"duration":91.585167,"id":"120558b990cd8bf4","name":"GET opbeans-ruby:3000","timestamp":1646055639104884,"trace_id":"2de4b32280770834f2c9639de5f3a4fb","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/325","status_code":200}},"outcome":"success","parent_id":"2de4b32280770834","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2de4b32280770834"}} +{"transaction":{"duration":91.873333,"id":"2de4b32280770834","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055639104691,"trace_id":"2de4b32280770834f2c9639de5f3a4fb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/325","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/325"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":33.598667,"id":"1a28bc1d8d063859","name":"Request","timestamp":1646055639215189,"trace_id":"e6ff3cdc8e9a6648ee1cfb6a4235a58d","type":"external","action":"request","outcome":"success","parent_id":"aeb58fdba4589821","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e6ff3cdc8e9a6648"}} +{"span":{"duration":0.217459,"id":"acb9422a35ce35ec","name":"Response","timestamp":1646055639248837,"trace_id":"e6ff3cdc8e9a6648ee1cfb6a4235a58d","type":"external","action":"response","outcome":"success","parent_id":"aeb58fdba4589821","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e6ff3cdc8e9a6648"}} +{"span":{"duration":33.910999999999994,"id":"aeb58fdba4589821","name":"GET opbeans-ruby:3000","timestamp":1646055639215145,"trace_id":"e6ff3cdc8e9a6648ee1cfb6a4235a58d","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/727","status_code":200}},"outcome":"success","parent_id":"e6ff3cdc8e9a6648","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e6ff3cdc8e9a6648"}} +{"transaction":{"duration":34.674125000000004,"id":"e6ff3cdc8e9a6648","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055639214768,"trace_id":"e6ff3cdc8e9a6648ee1cfb6a4235a58d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/727","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/727"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.0715830000000002,"id":"70cbc682af4360bb","name":"SELECT FROM customers","timestamp":1646055639270453,"trace_id":"b8bfdbd0e6d69b832f8102c8957dc7fd","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b8bfdbd0e6d69b83","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b8bfdbd0e6d69b83"}} +{"transaction":{"duration":1.2815839999999998,"id":"b8bfdbd0e6d69b83","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055639270430,"trace_id":"b8bfdbd0e6d69b832f8102c8957dc7fd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/522","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/522"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":3.9835000000000003,"id":"d2800d286fe08942","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055639298959,"trace_id":"d2800d286fe08942d49cd1b509e2e0d7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":4.158875,"id":"11b88b996e16e149","name":"SELECT FROM customers","timestamp":1646055639337769,"trace_id":"3a540f67f9e74b6b9f36e93d45052683","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3a540f67f9e74b6b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3a540f67f9e74b6b"}} +{"transaction":{"duration":8.837375,"id":"3a540f67f9e74b6b","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055639337739,"trace_id":"3a540f67f9e74b6b9f36e93d45052683","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=80","full":"http://opbeans-go:3000/api/products/5/customers?limit=80"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":100.302291,"id":"3c183559b0cc9a26","name":"Request","timestamp":1646055639379764,"trace_id":"c13a16dea588738584d230dbb318e299","type":"external","action":"request","outcome":"success","parent_id":"d121427d444f8c4a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c13a16dea5887385"}} +{"span":{"duration":0.15695800000000001,"id":"76657ce05fb683e4","name":"Response","timestamp":1646055639480093,"trace_id":"c13a16dea588738584d230dbb318e299","type":"external","action":"response","outcome":"success","parent_id":"d121427d444f8c4a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c13a16dea5887385"}} +{"span":{"duration":100.51341699999999,"id":"d121427d444f8c4a","name":"GET opbeans-ruby:3000","timestamp":1646055639379737,"trace_id":"c13a16dea588738584d230dbb318e299","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"c13a16dea5887385","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c13a16dea5887385"}} +{"transaction":{"duration":100.916834,"id":"c13a16dea5887385","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055639379550,"trace_id":"c13a16dea588738584d230dbb318e299","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"strict-origin-when-cross-origin","Vary":"Accept","Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"48dc2acd-0d27-4d35-82d1-28a08c9fc1d3","X-Xss-Protection":"1; mode=block","Content-Type":"application/json; charset=utf-8","Etag":"W/\"195dc75dd23c6abbf5c85d7fd3d619d1\"","X-Permitted-Cross-Domain-Policies":"none","X-Download-Options":"noopen","X-Content-Type-Options":"nosniff","X-Runtime":"0.089061","X-Frame-Options":"SAMEORIGIN"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.791834,"id":"571ee3a3bcfab84d","name":"SELECT FROM customers","timestamp":1646055639498754,"trace_id":"e196257c9eb64ed65146f6fc4dc626c2","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e196257c9eb64ed6","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e196257c9eb64ed6"}} +{"transaction":{"duration":2.424375,"id":"e196257c9eb64ed6","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055639498574,"trace_id":"e196257c9eb64ed65146f6fc4dc626c2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.565167,"id":"97436674a32c458e","name":"DNS opbeans-python","timestamp":1646055639520345,"trace_id":"15136c4dc0eb9feff94f1da31650f578","type":"external","action":"dns","outcome":"success","parent_id":"b799625dc2d566fd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"15136c4dc0eb9fef"}} +{"span":{"duration":0.142917,"id":"b35c01f2e9542aee","name":"Connect 172.23.0.11:3000","timestamp":1646055639520915,"trace_id":"15136c4dc0eb9feff94f1da31650f578","type":"external","action":"connect","outcome":"success","parent_id":"b799625dc2d566fd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"15136c4dc0eb9fef"}} +{"span":{"duration":16.215291,"id":"2174bffe71eb678f","name":"Request","timestamp":1646055639521085,"trace_id":"15136c4dc0eb9feff94f1da31650f578","type":"external","action":"request","outcome":"success","parent_id":"b799625dc2d566fd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"15136c4dc0eb9fef"}} +{"span":{"duration":0.5117919999999999,"id":"c7e34cb17ab53a5a","name":"Response","timestamp":1646055639537333,"trace_id":"15136c4dc0eb9feff94f1da31650f578","type":"external","action":"response","outcome":"success","parent_id":"b799625dc2d566fd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"15136c4dc0eb9fef"}} +{"span":{"duration":17.540917,"id":"b799625dc2d566fd","name":"GET opbeans-python:3000","timestamp":1646055639520306,"trace_id":"15136c4dc0eb9feff94f1da31650f578","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers/501","status_code":200}},"outcome":"success","parent_id":"15136c4dc0eb9fef","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"15136c4dc0eb9fef"}} +{"transaction":{"duration":17.689208,"id":"15136c4dc0eb9fef","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055639520253,"trace_id":"15136c4dc0eb9feff94f1da31650f578","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/501","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/501"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","Content-Length":"208","X-Frame-Options":"DENY","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:39 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.87275,"id":"eb68b3559f18913c","name":"SELECT FROM customers","timestamp":1646055639555883,"trace_id":"14d806a89f8831b1b47fda59ab56c7a7","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"14d806a89f8831b1","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"14d806a89f8831b1"}} +{"transaction":{"duration":2.3595,"id":"14d806a89f8831b1","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055639555860,"trace_id":"14d806a89f8831b1b47fda59ab56c7a7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.344666,"id":"67dcce32b91c8b41","name":"SELECT FROM orders","timestamp":1646055639576691,"trace_id":"29481e02a8e3a15a75b5a5e9dbf03691","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"29481e02a8e3a15a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"29481e02a8e3a15a"}} +{"span":{"duration":0.628333,"id":"c38bcc0880c32279","name":"SELECT FROM products","timestamp":1646055639577074,"trace_id":"29481e02a8e3a15a75b5a5e9dbf03691","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"29481e02a8e3a15a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"29481e02a8e3a15a"}} +{"transaction":{"duration":1.11375,"id":"29481e02a8e3a15a","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055639576672,"trace_id":"29481e02a8e3a15a75b5a5e9dbf03691","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/654","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/654"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.560542,"id":"ad22c1cb62ae5cb1","name":"SELECT FROM customers","timestamp":1646055639595231,"trace_id":"ea5521d918f7dffffae6ed7c34fa6756","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ea5521d918f7dfff","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ea5521d918f7dfff"}} +{"transaction":{"duration":0.680708,"id":"ea5521d918f7dfff","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055639595209,"trace_id":"ea5521d918f7dffffae6ed7c34fa6756","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/525","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/525"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.282541,"id":"8dcc1d19078173df","name":"DNS opbeans-python","timestamp":1646055639613924,"trace_id":"e40c284266d45ee59eea62c263672d38","type":"external","action":"dns","outcome":"success","parent_id":"e8f46e431066e16f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d4a4ca670eb51905"}} +{"span":{"duration":0.106667,"id":"53df08bfcd0f9480","name":"Connect 172.23.0.11:3000","timestamp":1646055639614211,"trace_id":"e40c284266d45ee59eea62c263672d38","type":"external","action":"connect","outcome":"success","parent_id":"e8f46e431066e16f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d4a4ca670eb51905"}} +{"span":{"duration":27.55875,"id":"92a56306c8d8c441","name":"Request","timestamp":1646055639660217,"trace_id":"e40c284266d45ee59eea62c263672d38","type":"external","action":"request","outcome":"success","parent_id":"e48a3489af80f9cf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b5fa683103a10715"}} +{"span":{"duration":0.149708,"id":"275866b3c071460a","name":"Response","timestamp":1646055639687804,"trace_id":"e40c284266d45ee59eea62c263672d38","type":"external","action":"response","outcome":"success","parent_id":"e48a3489af80f9cf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b5fa683103a10715"}} +{"span":{"duration":27.755208,"id":"e48a3489af80f9cf","name":"GET opbeans-ruby:3000","timestamp":1646055639660199,"trace_id":"e40c284266d45ee59eea62c263672d38","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/4","status_code":200}},"outcome":"success","parent_id":"b5fa683103a10715","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b5fa683103a10715"}} +{"transaction":{"duration":27.941,"id":"b5fa683103a10715","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055639660138,"trace_id":"e40c284266d45ee59eea62c263672d38","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-e40c284266d45ee59eea62c263672d38-01ffc20857d008a3-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-e40c284266d45ee59eea62c263672d38-01ffc20857d008a3-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Referrer-Policy":"strict-origin-when-cross-origin","Etag":"W/\"4059e1403ac9698d997e25789af2cf26\"","X-Content-Type-Options":"nosniff","X-Runtime":"0.018714","Content-Type":"application/json; charset=utf-8","X-Request-Id":"77645651-cc1b-45c4-966f-d45dddd00497","X-Frame-Options":"SAMEORIGIN","X-Xss-Protection":"1; mode=block","X-Download-Options":"noopen","Cache-Control":"max-age=0, private, must-revalidate","X-Permitted-Cross-Domain-Policies":"none"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"01ffc20857d008a3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":95.314333,"id":"50e2639fb07876e2","name":"Request","timestamp":1646055639614327,"trace_id":"e40c284266d45ee59eea62c263672d38","type":"external","action":"request","outcome":"success","parent_id":"e8f46e431066e16f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d4a4ca670eb51905"}} +{"span":{"duration":0.103917,"id":"6466572bfedde0d6","name":"Response","timestamp":1646055639709665,"trace_id":"e40c284266d45ee59eea62c263672d38","type":"external","action":"response","outcome":"success","parent_id":"e8f46e431066e16f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d4a4ca670eb51905"}} +{"span":{"duration":95.87633299999999,"id":"e8f46e431066e16f","name":"GET opbeans-python:3000","timestamp":1646055639613893,"trace_id":"e40c284266d45ee59eea62c263672d38","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/4","status_code":200}},"outcome":"success","parent_id":"d4a4ca670eb51905","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d4a4ca670eb51905"}} +{"transaction":{"duration":96.044958,"id":"d4a4ca670eb51905","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055639613820,"trace_id":"e40c284266d45ee59eea62c263672d38","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-e40c284266d45ee59eea62c263672d38-2b1a7760e693d415-01","Traceparent":"00-e40c284266d45ee59eea62c263672d38-2b1a7760e693d415-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:40:39 GMT","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Server":"gunicorn","Content-Length":"331"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"2b1a7760e693d415","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":96.483625,"id":"8f507827813fce44","name":"Request","timestamp":1646055639613744,"trace_id":"e40c284266d45ee59eea62c263672d38","type":"external","action":"request","outcome":"success","parent_id":"2b1a7760e693d415","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e40c284266d45ee5"}} +{"span":{"duration":0.018542,"id":"82789e40492f47e1","name":"Response","timestamp":1646055639710233,"trace_id":"e40c284266d45ee59eea62c263672d38","type":"external","action":"response","outcome":"success","parent_id":"2b1a7760e693d415","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e40c284266d45ee5"}} +{"span":{"duration":96.53129100000001,"id":"2b1a7760e693d415","name":"GET opbeans-go:3000","timestamp":1646055639613721,"trace_id":"e40c284266d45ee59eea62c263672d38","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/4","status_code":200}},"outcome":"success","parent_id":"e40c284266d45ee5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e40c284266d45ee5"}} +{"transaction":{"duration":96.780375,"id":"e40c284266d45ee5","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055639613520,"trace_id":"e40c284266d45ee59eea62c263672d38","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"331","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:39 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.489125,"id":"aff046d8781ec30e","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055639722466,"trace_id":"c58469e6eb5fd1bf8ed2820ffc1243fb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Elastic-Apm-Traceparent":"00-c58469e6eb5fd1bf8ed2820ffc1243fb-e129184aa62afc9b-01","Connection":"close","Traceparent":"00-c58469e6eb5fd1bf8ed2820ffc1243fb-e129184aa62afc9b-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"e129184aa62afc9b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":102.108125,"id":"ee8ccc1491aa88bf","name":"Request","timestamp":1646055639729902,"trace_id":"85381983edbd5e0cdc1e4d017f93541f","type":"external","action":"request","outcome":"success","parent_id":"247119e159636a57","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"85381983edbd5e0c"}} +{"span":{"duration":2.018791,"id":"31fa8ac78cbdd57d","name":"Response","timestamp":1646055639832037,"trace_id":"85381983edbd5e0cdc1e4d017f93541f","type":"external","action":"response","outcome":"success","parent_id":"247119e159636a57","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"85381983edbd5e0c"}} +{"span":{"duration":104.18416699999999,"id":"247119e159636a57","name":"GET opbeans-ruby:3000","timestamp":1646055639729882,"trace_id":"85381983edbd5e0cdc1e4d017f93541f","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products","status_code":200}},"outcome":"success","parent_id":"85381983edbd5e0c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"85381983edbd5e0c"}} +{"transaction":{"duration":104.36824999999999,"id":"85381983edbd5e0c","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055639729821,"trace_id":"85381983edbd5e0cdc1e4d017f93541f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.499625,"id":"7fe32681907b547b","name":"SELECT FROM products","timestamp":1646055639851280,"trace_id":"ca6af1a7d4c343d303a134016076f500","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ca6af1a7d4c343d3","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ca6af1a7d4c343d3"}} +{"transaction":{"duration":0.613417,"id":"ca6af1a7d4c343d3","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055639851260,"trace_id":"ca6af1a7d4c343d303a134016076f500","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.162333,"id":"a33d534d925293cf","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055639868858,"trace_id":"a33d534d925293cff10feda012104fd9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f10feda012104fd9","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.572625,"id":"cf69deff91ee3a7d","name":"SELECT FROM product_types","timestamp":1646055639886327,"trace_id":"9e1237dc7476616774243e3207d5cf3e","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9e1237dc74766167","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9e1237dc74766167"}} +{"transaction":{"duration":0.68025,"id":"9e1237dc74766167","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055639886310,"trace_id":"9e1237dc7476616774243e3207d5cf3e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.33587500000000003,"id":"b8cfe27c06f3d9ca","name":"SELECT FROM customers","timestamp":1646055639904279,"trace_id":"9eb889de3d8826946f3526a2abe8b19b","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9eb889de3d882694","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9eb889de3d882694"}} +{"transaction":{"duration":0.522208,"id":"9eb889de3d882694","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055639904256,"trace_id":"9eb889de3d8826946f3526a2abe8b19b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/220","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/220"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.457459,"id":"767d390eb2a90922","name":"SELECT FROM product_types","timestamp":1646055639922467,"trace_id":"1a7af49dc79fa70d5aa7bc99ddb9eccb","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1a7af49dc79fa70d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1a7af49dc79fa70d"}} +{"transaction":{"duration":0.597792,"id":"1a7af49dc79fa70d","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055639922450,"trace_id":"1a7af49dc79fa70d5aa7bc99ddb9eccb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.462125,"id":"5b4c59ea3f5c2633","name":"SELECT FROM product_types","timestamp":1646055639960470,"trace_id":"854d644520037845ce18840325f1f120","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1c580d631c17a271","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1c580d631c17a271"}} +{"transaction":{"duration":0.526708,"id":"1c580d631c17a271","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055639960460,"trace_id":"854d644520037845ce18840325f1f120","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"X-Forwarded-For":"172.23.0.11","User-Agent":"python-requests/2.27.1","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-854d644520037845ce18840325f1f120-d0dc837c39f6f853-01","Traceparent":"00-854d644520037845ce18840325f1f120-d0dc837c39f6f853-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d0dc837c39f6f853","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.713416,"id":"60a8df13e300b6af","name":"Request","timestamp":1646055639960405,"trace_id":"854d644520037845ce18840325f1f120","type":"external","action":"request","outcome":"success","parent_id":"d0dc837c39f6f853","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6d2ecdf8256ed898"}} +{"span":{"duration":0.019708,"id":"545917e34d570ae5","name":"Response","timestamp":1646055639961119,"trace_id":"854d644520037845ce18840325f1f120","type":"external","action":"response","outcome":"success","parent_id":"d0dc837c39f6f853","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6d2ecdf8256ed898"}} +{"span":{"duration":0.885,"id":"d0dc837c39f6f853","name":"GET opbeans-go:3000","timestamp":1646055639960255,"trace_id":"854d644520037845ce18840325f1f120","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"6d2ecdf8256ed898","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6d2ecdf8256ed898"}} +{"transaction":{"duration":1.134208,"id":"6d2ecdf8256ed898","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055639960085,"trace_id":"854d644520037845ce18840325f1f120","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Connection":"keep-alive","Traceparent":"00-854d644520037845ce18840325f1f120-af7cd19f8c8ea2ac-01","Elastic-Apm-Traceparent":"00-854d644520037845ce18840325f1f120-af7cd19f8c8ea2ac-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:39 GMT","Content-Length":"35"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"af7cd19f8c8ea2ac","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":87.89304200000001,"id":"9ce24f6f09b828f5","name":"Request","timestamp":1646055639940983,"trace_id":"22d5ab4fa83690eb1873413bcb950d5b","type":"external","action":"request","outcome":"success","parent_id":"76e232831854fc5c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"22d5ab4fa83690eb"}} +{"span":{"duration":2.375417,"id":"a03abf99fb611869","name":"Response","timestamp":1646055640028928,"trace_id":"22d5ab4fa83690eb1873413bcb950d5b","type":"external","action":"response","outcome":"success","parent_id":"76e232831854fc5c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"22d5ab4fa83690eb"}} +{"span":{"duration":90.342292,"id":"76e232831854fc5c","name":"GET opbeans-node:3000","timestamp":1646055639940965,"trace_id":"22d5ab4fa83690eb1873413bcb950d5b","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"22d5ab4fa83690eb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"22d5ab4fa83690eb"}} +{"transaction":{"duration":90.606167,"id":"22d5ab4fa83690eb","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055639940793,"trace_id":"22d5ab4fa83690eb1873413bcb950d5b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Runtime":"0.057286","X-Xss-Protection":"1; mode=block","X-Powered-By":"Express","Referrer-Policy":"strict-origin-when-cross-origin","X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","X-Request-Id":"94cf4bef-62fb-4637-89db-541d2b59e1e4","X-Permitted-Cross-Domain-Policies":"none","X-Frame-Options":"SAMEORIGIN","Etag":"W/\"195dc75dd23c6abbf5c85d7fd3d619d1\"","Content-Type":"application/json; charset=utf-8","Cache-Control":"max-age=0, private, must-revalidate","Date":"Mon, 28 Feb 2022 13:40:40 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.34575,"id":"f6d377653053159f","name":"SELECT FROM products","timestamp":1646055640048498,"trace_id":"0e27a79719a1799df6dff588009b6a54","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0e27a79719a1799d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0e27a79719a1799d"}} +{"transaction":{"duration":1.4517499999999999,"id":"0e27a79719a1799d","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055640048484,"trace_id":"0e27a79719a1799df6dff588009b6a54","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.310083,"id":"1d41c0d13be2b7de","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055640068235,"trace_id":"1d41c0d13be2b7de0281e4c5b5075714","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.418834,"id":"758860568ea6c835","name":"SELECT FROM orders","timestamp":1646055640085891,"trace_id":"73c571d822ce30f0405a098ddec026e6","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"73c571d822ce30f0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"73c571d822ce30f0"}} +{"span":{"duration":0.5325840000000001,"id":"a4ad4ff4bddf05d5","name":"SELECT FROM products","timestamp":1646055640086339,"trace_id":"73c571d822ce30f0405a098ddec026e6","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"73c571d822ce30f0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"73c571d822ce30f0"}} +{"transaction":{"duration":1.076708,"id":"73c571d822ce30f0","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055640085874,"trace_id":"73c571d822ce30f0405a098ddec026e6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/554","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/554"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.27675,"id":"b4a4ad1154570439","name":"DNS opbeans-node","timestamp":1646055640119153,"trace_id":"eaa80d2b32245b2058abc63383b1343f","type":"external","action":"dns","outcome":"success","parent_id":"2aa25612d9848f01","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"eaa80d2b32245b20"}} +{"span":{"duration":0.24175,"id":"de38bdbc31cb2086","name":"Connect 172.23.0.10:3000","timestamp":1646055640119434,"trace_id":"eaa80d2b32245b2058abc63383b1343f","type":"external","action":"connect","outcome":"success","parent_id":"2aa25612d9848f01","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"eaa80d2b32245b20"}} +{"span":{"duration":39.726,"id":"f3389e983c3b3b3c","name":"Request","timestamp":1646055640119687,"trace_id":"eaa80d2b32245b2058abc63383b1343f","type":"external","action":"request","outcome":"success","parent_id":"2aa25612d9848f01","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"eaa80d2b32245b20"}} +{"span":{"duration":0.045708,"id":"7aa081f1a3ff8aaa","name":"Response","timestamp":1646055640159437,"trace_id":"eaa80d2b32245b2058abc63383b1343f","type":"external","action":"response","outcome":"success","parent_id":"2aa25612d9848f01","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"eaa80d2b32245b20"}} +{"span":{"duration":40.378417,"id":"2aa25612d9848f01","name":"GET opbeans-node:3000","timestamp":1646055640119105,"trace_id":"eaa80d2b32245b2058abc63383b1343f","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders/878","status_code":404}},"outcome":"failure","parent_id":"eaa80d2b32245b20","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"eaa80d2b32245b20"}} +{"transaction":{"duration":40.662083,"id":"eaa80d2b32245b20","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055640118917,"trace_id":"eaa80d2b32245b2058abc63383b1343f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/878","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/878"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Date":"Mon, 28 Feb 2022 13:40:40 GMT","Content-Length":"0"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":1.374875,"id":"166d73f884b507ee","name":"SELECT FROM products","timestamp":1646055640178818,"trace_id":"11e4d517d47abac4cedc1074f934d9b7","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"11e4d517d47abac4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"11e4d517d47abac4"}} +{"transaction":{"duration":1.600125,"id":"11e4d517d47abac4","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055640178802,"trace_id":"11e4d517d47abac4cedc1074f934d9b7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.5085000000000002,"id":"160589c4b0913ec6","name":"SELECT FROM customers","timestamp":1646055640198453,"trace_id":"1aad302a8ba8c6dfd7e46399199088cf","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1aad302a8ba8c6df","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1aad302a8ba8c6df"}} +{"transaction":{"duration":1.6516250000000001,"id":"1aad302a8ba8c6df","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055640198431,"trace_id":"1aad302a8ba8c6dfd7e46399199088cf","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/5241","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/5241"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.672916,"id":"4d5be1ba26189054","name":"SELECT FROM customers","timestamp":1646055640218797,"trace_id":"ee12efef91b43fb4127f6797cdb3d4db","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ee12efef91b43fb4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ee12efef91b43fb4"}} +{"transaction":{"duration":0.9964999999999999,"id":"ee12efef91b43fb4","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055640218778,"trace_id":"ee12efef91b43fb4127f6797cdb3d4db","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/396","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/396"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":38.312917,"id":"1147411724e1d7b7","name":"Request","timestamp":1646055640239138,"trace_id":"2b3a633a6f4a48b5b514eb38a38943c3","type":"external","action":"request","outcome":"success","parent_id":"a63403c8832f7a96","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2b3a633a6f4a48b5"}} +{"span":{"duration":0.08570900000000001,"id":"c9cf7ca9d27fac4c","name":"Response","timestamp":1646055640277486,"trace_id":"2b3a633a6f4a48b5b514eb38a38943c3","type":"external","action":"response","outcome":"success","parent_id":"a63403c8832f7a96","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2b3a633a6f4a48b5"}} +{"span":{"duration":38.452459000000005,"id":"a63403c8832f7a96","name":"GET opbeans-ruby:3000","timestamp":1646055640239120,"trace_id":"2b3a633a6f4a48b5b514eb38a38943c3","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"2b3a633a6f4a48b5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2b3a633a6f4a48b5"}} +{"transaction":{"duration":38.688333,"id":"2b3a633a6f4a48b5","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055640239060,"trace_id":"2b3a633a6f4a48b5b514eb38a38943c3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"804da606-4af6-46bf-af32-cb8487d7e3b0","X-Frame-Options":"SAMEORIGIN","X-Download-Options":"noopen","X-Xss-Protection":"1; mode=block","Content-Type":"application/json; charset=utf-8","Etag":"W/\"32a6f2ac22b5ec871f35104a05ba3759\"","X-Runtime":"0.024938","X-Content-Type-Options":"nosniff","X-Permitted-Cross-Domain-Policies":"none","Vary":"Accept","Referrer-Policy":"strict-origin-when-cross-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.668375,"id":"9bba8f5dfee51606","name":"DNS opbeans-ruby","timestamp":1646055640324801,"trace_id":"7c4d619ff7be7624e529376839ae39c7","type":"external","action":"dns","outcome":"success","parent_id":"c5b6ccb96c18340e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dc25c6bf56fa28fc"}} +{"span":{"duration":0.10183299999999999,"id":"7379ba0692841764","name":"Connect 172.23.0.12:3000","timestamp":1646055640325475,"trace_id":"7c4d619ff7be7624e529376839ae39c7","type":"external","action":"connect","outcome":"success","parent_id":"c5b6ccb96c18340e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dc25c6bf56fa28fc"}} +{"span":{"duration":56.751792,"id":"263eee5d7cd43589","name":"Request","timestamp":1646055640325713,"trace_id":"7c4d619ff7be7624e529376839ae39c7","type":"external","action":"request","outcome":"success","parent_id":"c5b6ccb96c18340e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dc25c6bf56fa28fc"}} +{"span":{"duration":0.186708,"id":"ebbd8b4be1c6173b","name":"Response","timestamp":1646055640382492,"trace_id":"7c4d619ff7be7624e529376839ae39c7","type":"external","action":"response","outcome":"success","parent_id":"c5b6ccb96c18340e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dc25c6bf56fa28fc"}} +{"span":{"duration":58.11525,"id":"c5b6ccb96c18340e","name":"GET opbeans-ruby:3000","timestamp":1646055640324565,"trace_id":"7c4d619ff7be7624e529376839ae39c7","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/185","status_code":200}},"outcome":"success","parent_id":"dc25c6bf56fa28fc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dc25c6bf56fa28fc"}} +{"transaction":{"duration":58.289708000000005,"id":"dc25c6bf56fa28fc","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055640324492,"trace_id":"7c4d619ff7be7624e529376839ae39c7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/185","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/185"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-7c4d619ff7be7624e529376839ae39c7-ec3ac0dc38158127-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-7c4d619ff7be7624e529376839ae39c7-ec3ac0dc38158127-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ec3ac0dc38158127","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":83.360625,"id":"fcc861cf2395a92d","name":"Request","timestamp":1646055640304002,"trace_id":"7c4d619ff7be7624e529376839ae39c7","type":"external","action":"request","outcome":"success","parent_id":"ad29bf984eaa4a20","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7c4d619ff7be7624"}} +{"span":{"duration":0.11175,"id":"99c480bfbe42a084","name":"Response","timestamp":1646055640387394,"trace_id":"7c4d619ff7be7624e529376839ae39c7","type":"external","action":"response","outcome":"success","parent_id":"ad29bf984eaa4a20","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7c4d619ff7be7624"}} +{"span":{"duration":83.527833,"id":"ad29bf984eaa4a20","name":"GET opbeans-ruby:3000","timestamp":1646055640303979,"trace_id":"7c4d619ff7be7624e529376839ae39c7","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/185","status_code":200}},"outcome":"success","parent_id":"7c4d619ff7be7624","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7c4d619ff7be7624"}} +{"transaction":{"duration":83.7505,"id":"7c4d619ff7be7624","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055640303905,"trace_id":"7c4d619ff7be7624e529376839ae39c7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/185","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/185"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.958375,"id":"aad8d3844b9a5181","name":"SELECT FROM customers","timestamp":1646055640408211,"trace_id":"a62dd4335cd2c15ee99f21654754ff1a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a62dd4335cd2c15e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a62dd4335cd2c15e"}} +{"transaction":{"duration":2.451,"id":"a62dd4335cd2c15e","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055640408187,"trace_id":"a62dd4335cd2c15ee99f21654754ff1a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":22.85725,"id":"08dcb5ede4120866","name":"Request","timestamp":1646055640396720,"trace_id":"3ff75f2d00dda4d33825f1ab9e9f10d0","type":"external","action":"request","outcome":"success","parent_id":"dcfe9508fbaf5b26","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bde5b045fa094686"}} +{"span":{"duration":0.109625,"id":"a3f17b9eb21c2daf","name":"Response","timestamp":1646055640419794,"trace_id":"3ff75f2d00dda4d33825f1ab9e9f10d0","type":"external","action":"response","outcome":"success","parent_id":"dcfe9508fbaf5b26","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bde5b045fa094686"}} +{"span":{"duration":23.200167,"id":"dcfe9508fbaf5b26","name":"GET opbeans-ruby:3000","timestamp":1646055640396704,"trace_id":"3ff75f2d00dda4d33825f1ab9e9f10d0","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/2","status_code":200}},"outcome":"success","parent_id":"bde5b045fa094686","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bde5b045fa094686"}} +{"transaction":{"duration":23.362750000000002,"id":"bde5b045fa094686","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055640396644,"trace_id":"3ff75f2d00dda4d33825f1ab9e9f10d0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/2"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-3ff75f2d00dda4d33825f1ab9e9f10d0-dc56ccbf457c3c86-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-3ff75f2d00dda4d33825f1ab9e9f10d0-dc56ccbf457c3c86-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Referrer-Policy":"strict-origin-when-cross-origin","Cache-Control":"max-age=0, private, must-revalidate","X-Runtime":"0.016429","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","Content-Type":"application/json; charset=utf-8","Etag":"W/\"3ca3808dbab6e6b34a5979d159f923bc\"","X-Xss-Protection":"1; mode=block","X-Permitted-Cross-Domain-Policies":"none","X-Request-Id":"1e6fc63f-b4e6-4476-8f53-373b46913d89"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"dc56ccbf457c3c86","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.31425000000000003,"id":"419d2543a1fd6a21","name":"DNS opbeans-python","timestamp":1646055640429183,"trace_id":"0f0491ed9f820ade0110dcd2b43c5339","type":"external","action":"dns","outcome":"success","parent_id":"2de95e43d8782349","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0f0491ed9f820ade"}} +{"span":{"duration":0.07212500000000001,"id":"7d1943a7cce62e57","name":"Connect 172.23.0.11:3000","timestamp":1646055640429501,"trace_id":"0f0491ed9f820ade0110dcd2b43c5339","type":"external","action":"connect","outcome":"success","parent_id":"2de95e43d8782349","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0f0491ed9f820ade"}} +{"span":{"duration":0.33345800000000003,"id":"da090146bc35d8b3","name":"DNS opbeans-python","timestamp":1646055640452796,"trace_id":"1ce65e17683e7f0d63d94b921f745f76","type":"external","action":"dns","outcome":"success","parent_id":"0227ba3b5d8c3227","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e7735bb18305f908"}} +{"span":{"duration":0.767833,"id":"bbde386cbd284b1f","name":"Connect 172.23.0.11:3000","timestamp":1646055640453134,"trace_id":"1ce65e17683e7f0d63d94b921f745f76","type":"external","action":"connect","outcome":"success","parent_id":"0227ba3b5d8c3227","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e7735bb18305f908"}} +{"span":{"duration":107.668542,"id":"c75326bb3522f3c9","name":"Request","timestamp":1646055640429605,"trace_id":"0f0491ed9f820ade0110dcd2b43c5339","type":"external","action":"request","outcome":"success","parent_id":"2de95e43d8782349","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0f0491ed9f820ade"}} +{"span":{"duration":0.08645800000000001,"id":"8da2177691fe8160","name":"Response","timestamp":1646055640537304,"trace_id":"0f0491ed9f820ade0110dcd2b43c5339","type":"external","action":"response","outcome":"success","parent_id":"2de95e43d8782349","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0f0491ed9f820ade"}} +{"span":{"duration":108.26441700000001,"id":"2de95e43d8782349","name":"GET opbeans-python:3000","timestamp":1646055640429126,"trace_id":"0f0491ed9f820ade0110dcd2b43c5339","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers/64","status_code":404}},"outcome":"failure","parent_id":"0f0491ed9f820ade","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0f0491ed9f820ade"}} +{"transaction":{"duration":108.491708,"id":"0f0491ed9f820ade","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055640429028,"trace_id":"0f0491ed9f820ade0110dcd2b43c5339","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/64","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/64"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"same-origin","Server":"gunicorn","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:40:40 GMT","Content-Type":"text/html; charset=UTF-8","Content-Length":"1722","Vary":"Cookie"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.271625,"id":"a3e1e9accf2afddd","name":"SELECT FROM customers","timestamp":1646055640557191,"trace_id":"410f0e74a03fb63628f290d9b3777f9b","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"410f0e74a03fb636","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"410f0e74a03fb636"}} +{"transaction":{"duration":0.370042,"id":"410f0e74a03fb636","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055640557173,"trace_id":"410f0e74a03fb63628f290d9b3777f9b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/67","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/67"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.455583,"id":"549722c6357a56e9","name":"SELECT FROM customers","timestamp":1646055640575028,"trace_id":"f7df984a1f4f3027af18e0b9f00f0c42","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f7df984a1f4f3027","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f7df984a1f4f3027"}} +{"transaction":{"duration":0.550625,"id":"f7df984a1f4f3027","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055640575011,"trace_id":"f7df984a1f4f3027af18e0b9f00f0c42","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/476","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/476"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.44791600000000004,"id":"6157b873e647e245","name":"SELECT FROM orders","timestamp":1646055640592942,"trace_id":"0c0157105fa481ef4e2c20cec85e6cd7","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0c0157105fa481ef","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0c0157105fa481ef"}} +{"transaction":{"duration":2.112542,"id":"0c0157105fa481ef","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055640592923,"trace_id":"0c0157105fa481ef4e2c20cec85e6cd7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":87.791376,"id":"489933c036544878","name":"Request","timestamp":1646055640614230,"trace_id":"5fafc47c582522cd16eab676bba248dd","type":"external","action":"request","outcome":"success","parent_id":"78c0b55bbfc97932","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5fafc47c582522cd"}} +{"span":{"duration":3.081791,"id":"caaf02ff82a4c232","name":"Response","timestamp":1646055640702077,"trace_id":"5fafc47c582522cd16eab676bba248dd","type":"external","action":"response","outcome":"success","parent_id":"78c0b55bbfc97932","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5fafc47c582522cd"}} +{"span":{"duration":90.953042,"id":"78c0b55bbfc97932","name":"GET opbeans-node:3000","timestamp":1646055640614208,"trace_id":"5fafc47c582522cd16eab676bba248dd","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"5fafc47c582522cd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5fafc47c582522cd"}} +{"transaction":{"duration":91.33662600000001,"id":"5fafc47c582522cd","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055640614012,"trace_id":"5fafc47c582522cd16eab676bba248dd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"108","Etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","Date":"Mon, 28 Feb 2022 13:40:40 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.422334,"id":"987b6dfd381f59b5","name":"DNS opbeans-python","timestamp":1646055640711754,"trace_id":"505046b53f1d183a39a4ac84dbc38950","type":"external","action":"dns","outcome":"success","parent_id":"60294afbf14bcd03","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"93c4080c5c1c3a9e"}} +{"span":{"duration":0.119917,"id":"8dd00945703d4bb5","name":"Connect 172.23.0.11:3000","timestamp":1646055640712182,"trace_id":"505046b53f1d183a39a4ac84dbc38950","type":"external","action":"connect","outcome":"success","parent_id":"60294afbf14bcd03","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"93c4080c5c1c3a9e"}} +{"span":{"duration":2.2469170000000003,"id":"b80f89d7ece3dc87","name":"SELECT FROM products","timestamp":1646055640726245,"trace_id":"a964368b410052f7b0d3b565aec292c8","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a964368b410052f7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a964368b410052f7"}} +{"transaction":{"duration":2.499875,"id":"a964368b410052f7","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055640726225,"trace_id":"a964368b410052f7b0d3b565aec292c8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.471083,"id":"600fa1c9fd0a9ae1","name":"SELECT FROM products","timestamp":1646055640748916,"trace_id":"77f3eb860ea04565b8a3cd7fa61726a2","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"77f3eb860ea04565","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"77f3eb860ea04565"}} +{"transaction":{"duration":1.619125,"id":"77f3eb860ea04565","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055640748897,"trace_id":"77f3eb860ea04565b8a3cd7fa61726a2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.26941600000000004,"id":"5caab6e9a9d506e2","name":"SELECT FROM customers","timestamp":1646055640770168,"trace_id":"e6b55605e0a51b2c745e6844cc5e6407","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e6b55605e0a51b2c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e6b55605e0a51b2c"}} +{"transaction":{"duration":0.371334,"id":"e6b55605e0a51b2c","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055640770145,"trace_id":"e6b55605e0a51b2c745e6844cc5e6407","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/680","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/680"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":68.812417,"id":"674c689cae1f3f53","name":"Request","timestamp":1646055640712313,"trace_id":"505046b53f1d183a39a4ac84dbc38950","type":"external","action":"request","outcome":"success","parent_id":"60294afbf14bcd03","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"93c4080c5c1c3a9e"}} +{"span":{"duration":0.619375,"id":"98eaaacf04d254d5","name":"Response","timestamp":1646055640781160,"trace_id":"505046b53f1d183a39a4ac84dbc38950","type":"external","action":"response","outcome":"success","parent_id":"60294afbf14bcd03","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"93c4080c5c1c3a9e"}} +{"span":{"duration":70.08275,"id":"60294afbf14bcd03","name":"GET opbeans-python:3000","timestamp":1646055640711698,"trace_id":"505046b53f1d183a39a4ac84dbc38950","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"93c4080c5c1c3a9e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"93c4080c5c1c3a9e"}} +{"transaction":{"duration":70.681333,"id":"93c4080c5c1c3a9e","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055640711323,"trace_id":"505046b53f1d183a39a4ac84dbc38950","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Connection":"close","Traceparent":"00-505046b53f1d183a39a4ac84dbc38950-e549021084fc3672-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-505046b53f1d183a39a4ac84dbc38950-e549021084fc3672-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Frame-Options":"DENY","Content-Length":"203686","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:40 GMT","Referrer-Policy":"same-origin","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e549021084fc3672","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.349208,"id":"951e6374a4050c47","name":"SELECT FROM orders","timestamp":1646055640795064,"trace_id":"78b8d82cbbcbf14b2b37878e1298d467","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"78b8d82cbbcbf14b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"78b8d82cbbcbf14b"}} +{"span":{"duration":0.550375,"id":"6809b65d560a07e1","name":"SELECT FROM products","timestamp":1646055640795444,"trace_id":"78b8d82cbbcbf14b2b37878e1298d467","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"78b8d82cbbcbf14b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"78b8d82cbbcbf14b"}} +{"transaction":{"duration":1.030958,"id":"78b8d82cbbcbf14b","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055640795045,"trace_id":"78b8d82cbbcbf14b2b37878e1298d467","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/317","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/317"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":35.126999999999995,"id":"664dd609a16db5f9","name":"Request","timestamp":1646055640813815,"trace_id":"61c9d1882ab6565801937fd4af9fef6d","type":"external","action":"request","outcome":"success","parent_id":"0396507a3422ffcf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"61c9d1882ab65658"}} +{"span":{"duration":0.15270799999999998,"id":"bdb9fdfa9c6215d4","name":"Response","timestamp":1646055640848966,"trace_id":"61c9d1882ab6565801937fd4af9fef6d","type":"external","action":"response","outcome":"success","parent_id":"0396507a3422ffcf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"61c9d1882ab65658"}} +{"span":{"duration":35.3235,"id":"0396507a3422ffcf","name":"GET opbeans-ruby:3000","timestamp":1646055640813796,"trace_id":"61c9d1882ab6565801937fd4af9fef6d","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"61c9d1882ab65658","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"61c9d1882ab65658"}} +{"transaction":{"duration":35.62475,"id":"61c9d1882ab65658","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055640813702,"trace_id":"61c9d1882ab6565801937fd4af9fef6d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"86e28598-8fe3-44d9-944c-9ab1d3b72c6b","Content-Type":"application/json; charset=utf-8","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin","Vary":"Accept","Etag":"W/\"6b84b8cfae4908f93f790804f2c9e7c9\"","X-Download-Options":"noopen","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","X-Xss-Protection":"1; mode=block","X-Runtime":"0.027277"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.373375,"id":"dba9369f27f6cd9d","name":"DNS opbeans-python","timestamp":1646055640868365,"trace_id":"7ff6cc8481f764bd2cfedf1b5a0951b4","type":"external","action":"dns","outcome":"success","parent_id":"e3a6fae2b6f290da","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7ff6cc8481f764bd"}} +{"span":{"duration":0.134542,"id":"1fdaba6e9568973f","name":"Connect 172.23.0.11:3000","timestamp":1646055640868743,"trace_id":"7ff6cc8481f764bd2cfedf1b5a0951b4","type":"external","action":"connect","outcome":"success","parent_id":"e3a6fae2b6f290da","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7ff6cc8481f764bd"}} +{"span":{"duration":13.788875,"id":"a14d028b81a2ca9e","name":"Request","timestamp":1646055640868887,"trace_id":"7ff6cc8481f764bd2cfedf1b5a0951b4","type":"external","action":"request","outcome":"success","parent_id":"e3a6fae2b6f290da","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7ff6cc8481f764bd"}} +{"span":{"duration":0.431625,"id":"7c530627068bee9c","name":"Response","timestamp":1646055640882700,"trace_id":"7ff6cc8481f764bd2cfedf1b5a0951b4","type":"external","action":"response","outcome":"success","parent_id":"e3a6fae2b6f290da","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7ff6cc8481f764bd"}} +{"span":{"duration":14.806625,"id":"e3a6fae2b6f290da","name":"GET opbeans-python:3000","timestamp":1646055640868326,"trace_id":"7ff6cc8481f764bd2cfedf1b5a0951b4","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/3","status_code":200}},"outcome":"success","parent_id":"7ff6cc8481f764bd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7ff6cc8481f764bd"}} +{"transaction":{"duration":15.037959,"id":"7ff6cc8481f764bd","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055640868189,"trace_id":"7ff6cc8481f764bd2cfedf1b5a0951b4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Server":"gunicorn","Content-Length":"248","Referrer-Policy":"same-origin","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:40:40 GMT","X-Frame-Options":"DENY","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.31058399999999997,"id":"6e01fb7d10540eda","name":"SELECT FROM orders","timestamp":1646055640900797,"trace_id":"561259b25695a0f5cb3198960369c7f9","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"561259b25695a0f5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"561259b25695a0f5"}} +{"span":{"duration":0.6415000000000001,"id":"b70b46690cf6032f","name":"SELECT FROM products","timestamp":1646055640901137,"trace_id":"561259b25695a0f5cb3198960369c7f9","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"561259b25695a0f5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"561259b25695a0f5"}} +{"transaction":{"duration":1.07975,"id":"561259b25695a0f5","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055640900779,"trace_id":"561259b25695a0f5cb3198960369c7f9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/369","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/369"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":31.153416999999997,"id":"f52961a7d44e9216","name":"Request","timestamp":1646055640921325,"trace_id":"ec203ee8bd429ad06a93666d1e74c56a","type":"external","action":"request","outcome":"success","parent_id":"f22361b654dc8f82","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ec203ee8bd429ad0"}} +{"span":{"duration":0.071208,"id":"87e4f5b3921e7ead","name":"Response","timestamp":1646055640952504,"trace_id":"ec203ee8bd429ad06a93666d1e74c56a","type":"external","action":"response","outcome":"success","parent_id":"f22361b654dc8f82","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ec203ee8bd429ad0"}} +{"span":{"duration":31.270041999999997,"id":"f22361b654dc8f82","name":"POST opbeans-node:3000","timestamp":1646055640921306,"trace_id":"ec203ee8bd429ad06a93666d1e74c56a","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders/csv","status_code":404}},"outcome":"failure","parent_id":"ec203ee8bd429ad0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ec203ee8bd429ad0"}} +{"transaction":{"duration":31.623584000000005,"id":"ec203ee8bd429ad0","name":"POST /api/orders/csv","span_count":{"dropped":0,"started":3},"timestamp":1646055640921139,"trace_id":"ec203ee8bd429ad06a93666d1e74c56a","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders/csv","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/csv"},"headers":{"Content-Type":"multipart/form-data; boundary=320cd4e9858d4e4689f740509551a5fb","Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"383"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Security-Policy":"default-src 'none'","X-Content-Type-Options":"nosniff","Content-Type":"text/html; charset=utf-8","Content-Length":"154","Date":"Mon, 28 Feb 2022 13:40:40 GMT"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":1.151208,"id":"cd7422a87c46e19c","name":"SELECT FROM products","timestamp":1646055640972013,"trace_id":"d2ad8ecd44aa858415117bda11bb4d22","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d2ad8ecd44aa8584","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d2ad8ecd44aa8584"}} +{"transaction":{"duration":1.283625,"id":"d2ad8ecd44aa8584","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055640971996,"trace_id":"d2ad8ecd44aa858415117bda11bb4d22","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.43295900000000004,"id":"a5ad1111d32bad8f","name":"SELECT FROM orders","timestamp":1646055640991115,"trace_id":"20d123349ccf58247a9be8a54a1cc591","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"20d123349ccf5824","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"20d123349ccf5824"}} +{"transaction":{"duration":2.183791,"id":"20d123349ccf5824","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055640991099,"trace_id":"20d123349ccf58247a9be8a54a1cc591","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.26891699999999996,"id":"6115b4250e9a340e","name":"DNS opbeans-python","timestamp":1646055641013132,"trace_id":"79ad5166d5f54a418014ac4801179e23","type":"external","action":"dns","outcome":"success","parent_id":"6132b1bb858e59aa","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"43e47729fc841799"}} +{"span":{"duration":0.104959,"id":"e8a530b37cb92105","name":"Connect 172.23.0.11:3000","timestamp":1646055641013419,"trace_id":"79ad5166d5f54a418014ac4801179e23","type":"external","action":"connect","outcome":"success","parent_id":"6132b1bb858e59aa","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"43e47729fc841799"}} +{"span":{"duration":0.425416,"id":"915ef97026cc366a","name":"DNS opbeans-go","timestamp":1646055641638725,"trace_id":"740b2c56f80b3213a4a2e392a376c567","type":"external","action":"dns","outcome":"success","parent_id":"80324c6963d80f83","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0e34edd9cd1fb3a0"}} +{"span":{"duration":0.105083,"id":"8dbee623c71d0322","name":"Connect 172.23.0.9:3000","timestamp":1646055641639156,"trace_id":"740b2c56f80b3213a4a2e392a376c567","type":"external","action":"connect","outcome":"success","parent_id":"80324c6963d80f83","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0e34edd9cd1fb3a0"}} +{"span":{"duration":1.068667,"id":"2a8f9f6081b82795","name":"SELECT FROM orders","timestamp":1646055641639499,"trace_id":"740b2c56f80b3213a4a2e392a376c567","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"47774d2e184dd67b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"47774d2e184dd67b"}} +{"span":{"duration":0.8116669999999999,"id":"157c89a9cda8f5da","name":"SELECT FROM products","timestamp":1646055641640622,"trace_id":"740b2c56f80b3213a4a2e392a376c567","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"47774d2e184dd67b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"47774d2e184dd67b"}} +{"transaction":{"duration":2.231709,"id":"47774d2e184dd67b","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055641639453,"trace_id":"740b2c56f80b3213a4a2e392a376c567","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/95","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/95"},"headers":{"Elastic-Apm-Traceparent":"00-740b2c56f80b3213a4a2e392a376c567-80324c6963d80f83-01","Traceparent":"00-740b2c56f80b3213a4a2e392a376c567-80324c6963d80f83-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.10","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"80324c6963d80f83","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.504,"id":"6b782da8572edc35","name":"Request","timestamp":1646055641639298,"trace_id":"740b2c56f80b3213a4a2e392a376c567","type":"external","action":"request","outcome":"success","parent_id":"80324c6963d80f83","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0e34edd9cd1fb3a0"}} +{"span":{"duration":0.099333,"id":"75c32a991790a41f","name":"Response","timestamp":1646055641641808,"trace_id":"740b2c56f80b3213a4a2e392a376c567","type":"external","action":"response","outcome":"success","parent_id":"80324c6963d80f83","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0e34edd9cd1fb3a0"}} +{"span":{"duration":3.3021249999999998,"id":"80324c6963d80f83","name":"GET opbeans-go:3000","timestamp":1646055641638606,"trace_id":"740b2c56f80b3213a4a2e392a376c567","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/95","status_code":200}},"outcome":"success","parent_id":"0e34edd9cd1fb3a0","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0e34edd9cd1fb3a0"}} +{"transaction":{"duration":3.551208,"id":"0e34edd9cd1fb3a0","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055641638503,"trace_id":"740b2c56f80b3213a4a2e392a376c567","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/95","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/95"},"headers":{"Traceparent":"00-740b2c56f80b3213a4a2e392a376c567-031af356cdb3fa43-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-740b2c56f80b3213a4a2e392a376c567-031af356cdb3fa43-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:41 GMT","Content-Length":"278"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"031af356cdb3fa43","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.580958,"id":"3dba306d6ffd764b","name":"SELECT FROM products","timestamp":1646055643133465,"trace_id":"d8638bdc3692269ba0cac81eda24ad98","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6d05355d6b995cc8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6d05355d6b995cc8"}} +{"transaction":{"duration":2.750917,"id":"6d05355d6b995cc8","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055643133441,"trace_id":"d8638bdc3692269ba0cac81eda24ad98","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Connection":"close","Traceparent":"00-d8638bdc3692269ba0cac81eda24ad98-4e76db0c50e37b8c-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-d8638bdc3692269ba0cac81eda24ad98-4e76db0c50e37b8c-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"4e76db0c50e37b8c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":116.12675,"id":"e3576fe3cb90daaf","name":"Request","timestamp":1646055645208021,"trace_id":"eaf8a23f1bffff519347f2967f2e2804","type":"external","action":"request","outcome":"success","parent_id":"db66854cec6b74ac","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"eaf8a23f1bffff51"}} +{"span":{"duration":0.213917,"id":"793b316b80a60e43","name":"Response","timestamp":1646055645324246,"trace_id":"eaf8a23f1bffff519347f2967f2e2804","type":"external","action":"response","outcome":"success","parent_id":"db66854cec6b74ac","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"eaf8a23f1bffff51"}} +{"span":{"duration":116.472083,"id":"db66854cec6b74ac","name":"GET opbeans-ruby:3000","timestamp":1646055645207989,"trace_id":"eaf8a23f1bffff519347f2967f2e2804","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"eaf8a23f1bffff51","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"eaf8a23f1bffff51"}} +{"transaction":{"duration":116.912625,"id":"eaf8a23f1bffff51","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055645207773,"trace_id":"eaf8a23f1bffff519347f2967f2e2804","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"X-Request-Id":"d54c3dd3-27a9-4627-b314-ff1e1aeb92aa","X-Runtime":"0.100876","X-Frame-Options":"SAMEORIGIN","Referrer-Policy":"strict-origin-when-cross-origin","X-Content-Type-Options":"nosniff","Etag":"W/\"195dc75dd23c6abbf5c85d7fd3d619d1\"","Cache-Control":"max-age=0, private, must-revalidate","X-Xss-Protection":"1; mode=block","X-Permitted-Cross-Domain-Policies":"none","Content-Type":"application/json; charset=utf-8","X-Download-Options":"noopen"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":4929.996959,"id":"dc2d3b607f7bdce9","name":"Request","timestamp":1646055640453913,"trace_id":"1ce65e17683e7f0d63d94b921f745f76","type":"external","action":"request","outcome":"success","parent_id":"0227ba3b5d8c3227","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e7735bb18305f908"}} +{"span":{"duration":4931.5936679999995,"id":"df41a04fb7457327","name":"Request","timestamp":1646055640452577,"trace_id":"1ce65e17683e7f0d63d94b921f745f76","type":"external","action":"request","outcome":"success","parent_id":"f6ec10dd7338e941","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4b69fbb95b347918"}} +{"span":{"duration":0.29683299999999996,"id":"baaacd1eba9f7bcf","name":"Response","timestamp":1646055645383951,"trace_id":"1ce65e17683e7f0d63d94b921f745f76","type":"external","action":"response","outcome":"success","parent_id":"0227ba3b5d8c3227","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e7735bb18305f908"}} +{"span":{"duration":4931.518959,"id":"0227ba3b5d8c3227","name":"GET opbeans-python:3000","timestamp":1646055640452730,"trace_id":"1ce65e17683e7f0d63d94b921f745f76","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"e7735bb18305f908","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e7735bb18305f908"}} +{"transaction":{"duration":4931.67821,"id":"e7735bb18305f908","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055640452705,"trace_id":"1ce65e17683e7f0d63d94b921f745f76","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept-Encoding":"gzip","User-Agent":"http.rb/5.0.4","Elastic-Apm-Traceparent":"00-1ce65e17683e7f0d63d94b921f745f76-f6ec10dd7338e941-01","Traceparent":"00-1ce65e17683e7f0d63d94b921f745f76-f6ec10dd7338e941-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.12"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Content-Type":"application/json","X-Frame-Options":"DENY","Vary":"Cookie","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:45 GMT","Content-Length":"108580"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f6ec10dd7338e941","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.268625,"id":"d57fbfc1b401e8af","name":"Response","timestamp":1646055645384183,"trace_id":"1ce65e17683e7f0d63d94b921f745f76","type":"external","action":"response","outcome":"success","parent_id":"f6ec10dd7338e941","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4b69fbb95b347918"}} +{"span":{"duration":4931.892502000001,"id":"f6ec10dd7338e941","name":"GET opbeans-go:3000","timestamp":1646055640452560,"trace_id":"1ce65e17683e7f0d63d94b921f745f76","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"4b69fbb95b347918","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4b69fbb95b347918"}} +{"transaction":{"duration":4932.021417999999,"id":"4b69fbb95b347918","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055640452500,"trace_id":"1ce65e17683e7f0d63d94b921f745f76","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-1ce65e17683e7f0d63d94b921f745f76-76a7482b91742830-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-1ce65e17683e7f0d63d94b921f745f76-76a7482b91742830-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"108580","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:40:45 GMT","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"76a7482b91742830","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.41025,"id":"d55870d0c86ddfc8","name":"DNS opbeans-python","timestamp":1646055645735264,"trace_id":"65e91d02cc058248b53e0aa4e25a91e9","type":"external","action":"dns","outcome":"success","parent_id":"4caf759ea9c9ecc6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f4da8b479a5c2169"}} +{"span":{"duration":0.13591699999999998,"id":"62402c2d44c8cc60","name":"Connect 172.23.0.11:3000","timestamp":1646055645735678,"trace_id":"65e91d02cc058248b53e0aa4e25a91e9","type":"external","action":"connect","outcome":"success","parent_id":"4caf759ea9c9ecc6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f4da8b479a5c2169"}} +{"span":{"duration":0.522083,"id":"4247524cad03b05a","name":"SELECT FROM customers","timestamp":1646055645766991,"trace_id":"65e91d02cc058248b53e0aa4e25a91e9","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"14507d5c95829845","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"14507d5c95829845"}} +{"transaction":{"duration":0.718,"id":"14507d5c95829845","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055645766945,"trace_id":"65e91d02cc058248b53e0aa4e25a91e9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/6277","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/6277"},"headers":{"Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-65e91d02cc058248b53e0aa4e25a91e9-20fad5ce2a1c77d3-01","Elastic-Apm-Traceparent":"00-65e91d02cc058248b53e0aa4e25a91e9-20fad5ce2a1c77d3-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"20fad5ce2a1c77d3","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":87.220792,"id":"a3370f4924f8cfe3","name":"Request","timestamp":1646055645735823,"trace_id":"65e91d02cc058248b53e0aa4e25a91e9","type":"external","action":"request","outcome":"success","parent_id":"4caf759ea9c9ecc6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f4da8b479a5c2169"}} +{"span":{"duration":0.108333,"id":"ac71aa1d6d6f18b6","name":"Response","timestamp":1646055645823075,"trace_id":"65e91d02cc058248b53e0aa4e25a91e9","type":"external","action":"response","outcome":"success","parent_id":"4caf759ea9c9ecc6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f4da8b479a5c2169"}} +{"span":{"duration":87.984708,"id":"4caf759ea9c9ecc6","name":"GET opbeans-python:3000","timestamp":1646055645735202,"trace_id":"65e91d02cc058248b53e0aa4e25a91e9","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers/6277","status_code":404}},"outcome":"failure","parent_id":"f4da8b479a5c2169","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f4da8b479a5c2169"}} +{"transaction":{"duration":88.30091700000001,"id":"f4da8b479a5c2169","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055645735116,"trace_id":"65e91d02cc058248b53e0aa4e25a91e9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/6277","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/6277"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-65e91d02cc058248b53e0aa4e25a91e9-32ff6343019e2c1c-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-65e91d02cc058248b53e0aa4e25a91e9-32ff6343019e2c1c-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Referrer-Policy":"same-origin","Server":"gunicorn","Content-Type":"text/plain","Vary":"Cookie","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:40:45 GMT","X-Frame-Options":"DENY","Content-Length":"0"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"32ff6343019e2c1c","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":4969.194959,"id":"d1fb1101170581aa","name":"Request","timestamp":1646055641013534,"trace_id":"79ad5166d5f54a418014ac4801179e23","type":"external","action":"request","outcome":"success","parent_id":"6132b1bb858e59aa","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"43e47729fc841799"}} +{"span":{"duration":0.276625,"id":"21f0c503e668b558","name":"Response","timestamp":1646055645982775,"trace_id":"79ad5166d5f54a418014ac4801179e23","type":"external","action":"response","outcome":"success","parent_id":"6132b1bb858e59aa","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"43e47729fc841799"}} +{"span":{"duration":4969.946293,"id":"6132b1bb858e59aa","name":"GET opbeans-python:3000","timestamp":1646055641013107,"trace_id":"79ad5166d5f54a418014ac4801179e23","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"43e47729fc841799","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"43e47729fc841799"}} +{"transaction":{"duration":4970.145417999999,"id":"43e47729fc841799","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055641013080,"trace_id":"79ad5166d5f54a418014ac4801179e23","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-79ad5166d5f54a418014ac4801179e23-b4c6e5bad7ed6e01-01","Traceparent":"00-79ad5166d5f54a418014ac4801179e23-b4c6e5bad7ed6e01-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:45 GMT","Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"108580","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b4c6e5bad7ed6e01","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":4970.365751,"id":"e4ad3fe11705bfc7","name":"Request","timestamp":1646055641012979,"trace_id":"79ad5166d5f54a418014ac4801179e23","type":"external","action":"request","outcome":"success","parent_id":"b4c6e5bad7ed6e01","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"79ad5166d5f54a41"}} +{"span":{"duration":0.5901660000000001,"id":"2dd88fdbcb9ca01a","name":"Response","timestamp":1646055645983350,"trace_id":"79ad5166d5f54a418014ac4801179e23","type":"external","action":"response","outcome":"success","parent_id":"b4c6e5bad7ed6e01","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"79ad5166d5f54a41"}} +{"span":{"duration":4970.980210000001,"id":"b4c6e5bad7ed6e01","name":"GET opbeans-go:3000","timestamp":1646055641012962,"trace_id":"79ad5166d5f54a418014ac4801179e23","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"79ad5166d5f54a41","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"79ad5166d5f54a41"}} +{"transaction":{"duration":4971.270708999999,"id":"79ad5166d5f54a41","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055641012763,"trace_id":"79ad5166d5f54a418014ac4801179e23","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"108580","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:40:45 GMT","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.3647500000000001,"id":"ce030a850363654b","name":"SELECT FROM orders","timestamp":1646055646024073,"trace_id":"69d3ad75b6db7dffcac24a412c487746","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"69d3ad75b6db7dff","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"69d3ad75b6db7dff"}} +{"transaction":{"duration":3.654083,"id":"69d3ad75b6db7dff","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055646024049,"trace_id":"69d3ad75b6db7dffcac24a412c487746","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.413875,"id":"74232a40a13c7141","name":"DNS opbeans-node","timestamp":1646055646048458,"trace_id":"3cb1a26d63855486e5c29cbdd4f24226","type":"external","action":"dns","outcome":"success","parent_id":"a0ed099115538389","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3cb1a26d63855486"}} +{"span":{"duration":0.144458,"id":"df7f973ee898459d","name":"Connect 172.23.0.10:3000","timestamp":1646055646048877,"trace_id":"3cb1a26d63855486e5c29cbdd4f24226","type":"external","action":"connect","outcome":"success","parent_id":"a0ed099115538389","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3cb1a26d63855486"}} +{"span":{"duration":24.664833,"id":"7bb09eef8bdd6d6b","name":"Request","timestamp":1646055646049032,"trace_id":"3cb1a26d63855486e5c29cbdd4f24226","type":"external","action":"request","outcome":"success","parent_id":"a0ed099115538389","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3cb1a26d63855486"}} +{"span":{"duration":0.054125,"id":"8b8d298b83117ebe","name":"Response","timestamp":1646055646073722,"trace_id":"3cb1a26d63855486e5c29cbdd4f24226","type":"external","action":"response","outcome":"success","parent_id":"a0ed099115538389","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3cb1a26d63855486"}} +{"span":{"duration":25.3555,"id":"a0ed099115538389","name":"GET opbeans-node:3000","timestamp":1646055646048421,"trace_id":"3cb1a26d63855486e5c29cbdd4f24226","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types","status_code":200}},"outcome":"success","parent_id":"3cb1a26d63855486","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"3cb1a26d63855486"}} +{"transaction":{"duration":25.870708,"id":"3cb1a26d63855486","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055646048323,"trace_id":"3cb1a26d63855486e5c29cbdd4f24226","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"112","Etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","Date":"Mon, 28 Feb 2022 13:40:46 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.49787500000000007,"id":"90a54f9526ded398","name":"SELECT FROM products","timestamp":1646055646094354,"trace_id":"453a3b035c8036196819b75f7ddb258c","type":"db","action":"query","context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b505f76886d67d7e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b505f76886d67d7e"}} +{"span":{"duration":0.612417,"id":"8c15f164e6ba8d7c","name":"SELECT FROM customers","timestamp":1646055646094876,"trace_id":"453a3b035c8036196819b75f7ddb258c","type":"db","action":"query","context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b505f76886d67d7e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b505f76886d67d7e"}} +{"span":{"duration":0.670875,"id":"43258a994f2f6cd7","name":"SELECT FROM orders","timestamp":1646055646095511,"trace_id":"453a3b035c8036196819b75f7ddb258c","type":"db","action":"query","context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b505f76886d67d7e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b505f76886d67d7e"}} +{"span":{"duration":2.077166,"id":"aef3a7d1863c03c6","name":"SELECT FROM products","timestamp":1646055646096198,"trace_id":"453a3b035c8036196819b75f7ddb258c","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n SUM(selling_price), SUM(cost), SUM(selling_price-cost)\nFROM products JOIN order_lines ON products.id=order_lines.product_id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b505f76886d67d7e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b505f76886d67d7e"}} +{"transaction":{"duration":5.117041,"id":"b505f76886d67d7e","name":"GET /api/stats","span_count":{"dropped":0,"started":4},"timestamp":1646055646093818,"trace_id":"453a3b035c8036196819b75f7ddb258c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-453a3b035c8036196819b75f7ddb258c-f2bc504820f9acf4-01","Traceparent":"00-453a3b035c8036196819b75f7ddb258c-f2bc504820f9acf4-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"false"}},"outcome":"success","parent_id":"f2bc504820f9acf4","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":5.288,"id":"36f794ff0ce81f9f","name":"Request","timestamp":1646055646093705,"trace_id":"453a3b035c8036196819b75f7ddb258c","type":"external","action":"request","outcome":"success","parent_id":"f2bc504820f9acf4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"453a3b035c803619"}} +{"span":{"duration":0.026833,"id":"e99220d6dba19e5b","name":"Response","timestamp":1646055646099007,"trace_id":"453a3b035c8036196819b75f7ddb258c","type":"external","action":"response","outcome":"success","parent_id":"f2bc504820f9acf4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"453a3b035c803619"}} +{"span":{"duration":5.354666999999999,"id":"f2bc504820f9acf4","name":"GET opbeans-go:3000","timestamp":1646055646093680,"trace_id":"453a3b035c8036196819b75f7ddb258c","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"453a3b035c803619","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"453a3b035c803619"}} +{"transaction":{"duration":6.179042,"id":"453a3b035c803619","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055646093417,"trace_id":"453a3b035c8036196819b75f7ddb258c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:46 GMT","Content-Length":"110"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":60.995208000000005,"id":"692e91f300268054","name":"Request","timestamp":1646055646122591,"trace_id":"e9ef9c90a1e9250586e472e31dd5f9ac","type":"external","action":"request","outcome":"success","parent_id":"fdbd4bf8293e1fc4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e9ef9c90a1e92505"}} +{"span":{"duration":0.146708,"id":"ab812e9c21ec51ba","name":"Response","timestamp":1646055646183609,"trace_id":"e9ef9c90a1e9250586e472e31dd5f9ac","type":"external","action":"response","outcome":"success","parent_id":"fdbd4bf8293e1fc4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e9ef9c90a1e92505"}} +{"span":{"duration":61.188041999999996,"id":"fdbd4bf8293e1fc4","name":"GET opbeans-ruby:3000","timestamp":1646055646122568,"trace_id":"e9ef9c90a1e9250586e472e31dd5f9ac","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/5","status_code":200}},"outcome":"success","parent_id":"e9ef9c90a1e92505","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e9ef9c90a1e92505"}} +{"transaction":{"duration":61.621625,"id":"e9ef9c90a1e92505","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055646122448,"trace_id":"e9ef9c90a1e9250586e472e31dd5f9ac","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.210291,"id":"a27b185bada1c4b6","name":"SELECT FROM customers","timestamp":1646055646231594,"trace_id":"0c5b8f32bce390db9232e77ba828ed22","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"87221dc739d30646","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"87221dc739d30646"}} +{"transaction":{"duration":2.00425,"id":"87221dc739d30646","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055646231578,"trace_id":"0c5b8f32bce390db9232e77ba828ed22","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-0c5b8f32bce390db9232e77ba828ed22-5450191ed0165ea1-01","Elastic-Apm-Traceparent":"00-0c5b8f32bce390db9232e77ba828ed22-5450191ed0165ea1-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"5450191ed0165ea1","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":42.134791,"id":"1f0b2d6b33640a63","name":"Request","timestamp":1646055646204243,"trace_id":"0c5b8f32bce390db9232e77ba828ed22","type":"external","action":"request","outcome":"success","parent_id":"231800c0e8b5e6e7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0c5b8f32bce390db"}} +{"span":{"duration":2.310791,"id":"133e8765c9230959","name":"Response","timestamp":1646055646246405,"trace_id":"0c5b8f32bce390db9232e77ba828ed22","type":"external","action":"response","outcome":"success","parent_id":"231800c0e8b5e6e7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0c5b8f32bce390db"}} +{"span":{"duration":44.49525,"id":"231800c0e8b5e6e7","name":"GET opbeans-node:3000","timestamp":1646055646204225,"trace_id":"0c5b8f32bce390db9232e77ba828ed22","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"0c5b8f32bce390db","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0c5b8f32bce390db"}} +{"transaction":{"duration":44.938792,"id":"0c5b8f32bce390db","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055646204122,"trace_id":"0c5b8f32bce390db9232e77ba828ed22","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Referrer-Policy":"same-origin","Server":"gunicorn","Content-Length":"186769","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:40:46 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.413125,"id":"47b03bb808d6f849","name":"SELECT FROM orders","timestamp":1646055646265923,"trace_id":"af64ea2442ff86e23bb9257ddaa6e649","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"af64ea2442ff86e2","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"af64ea2442ff86e2"}} +{"transaction":{"duration":2.3389159999999998,"id":"af64ea2442ff86e2","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055646265909,"trace_id":"af64ea2442ff86e23bb9257ddaa6e649","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.263708,"id":"0561267e7e8ff672","name":"DNS opbeans-node","timestamp":1646055646289257,"trace_id":"a207a8cb6c2bf80b45d63f565d7b82c1","type":"external","action":"dns","outcome":"success","parent_id":"24595607c0b10ae4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"263fd0de3ddd9b1f"}} +{"span":{"duration":0.098375,"id":"ed10edf518ef3b7c","name":"Connect 172.23.0.10:3000","timestamp":1646055646289525,"trace_id":"a207a8cb6c2bf80b45d63f565d7b82c1","type":"external","action":"connect","outcome":"success","parent_id":"24595607c0b10ae4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"263fd0de3ddd9b1f"}} +{"span":{"duration":37.369667,"id":"525c90e509771fad","name":"Request","timestamp":1646055646289649,"trace_id":"a207a8cb6c2bf80b45d63f565d7b82c1","type":"external","action":"request","outcome":"success","parent_id":"24595607c0b10ae4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"263fd0de3ddd9b1f"}} +{"span":{"duration":0.14366600000000002,"id":"c507022fbe19a9ca","name":"Response","timestamp":1646055646327061,"trace_id":"a207a8cb6c2bf80b45d63f565d7b82c1","type":"external","action":"response","outcome":"success","parent_id":"24595607c0b10ae4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"263fd0de3ddd9b1f"}} +{"span":{"duration":37.973082999999995,"id":"24595607c0b10ae4","name":"GET opbeans-node:3000","timestamp":1646055646289232,"trace_id":"a207a8cb6c2bf80b45d63f565d7b82c1","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders/9","status_code":200}},"outcome":"success","parent_id":"263fd0de3ddd9b1f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"263fd0de3ddd9b1f"}} +{"transaction":{"duration":38.298083,"id":"263fd0de3ddd9b1f","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055646289207,"trace_id":"a207a8cb6c2bf80b45d63f565d7b82c1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/9","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/9"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-a207a8cb6c2bf80b45d63f565d7b82c1-c58787b72d5fb0ff-01","Traceparent":"00-a207a8cb6c2bf80b45d63f565d7b82c1-c58787b72d5fb0ff-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:46 GMT","X-Frame-Options":"DENY","X-Powered-By":"Express","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Vary":"Cookie","Server":"gunicorn","Content-Type":"application/json","Content-Length":"311"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c58787b72d5fb0ff","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":38.434042000000005,"id":"05740a9f8c64b867","name":"Request","timestamp":1646055646289144,"trace_id":"a207a8cb6c2bf80b45d63f565d7b82c1","type":"external","action":"request","outcome":"success","parent_id":"c58787b72d5fb0ff","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a207a8cb6c2bf80b"}} +{"span":{"duration":0.051,"id":"0e36401db47aa723","name":"Response","timestamp":1646055646328119,"trace_id":"a207a8cb6c2bf80b45d63f565d7b82c1","type":"external","action":"response","outcome":"success","parent_id":"c58787b72d5fb0ff","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a207a8cb6c2bf80b"}} +{"span":{"duration":39.046749999999996,"id":"c58787b72d5fb0ff","name":"GET opbeans-go:3000","timestamp":1646055646289124,"trace_id":"a207a8cb6c2bf80b45d63f565d7b82c1","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/9","status_code":200}},"outcome":"success","parent_id":"a207a8cb6c2bf80b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a207a8cb6c2bf80b"}} +{"transaction":{"duration":39.285958,"id":"a207a8cb6c2bf80b","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055646289004,"trace_id":"a207a8cb6c2bf80b45d63f565d7b82c1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/9","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/9"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","Content-Length":"311","Content-Type":"application/json","X-Powered-By":"Express","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:40:46 GMT","X-Frame-Options":"DENY","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.693875,"id":"7a13c7b234e7356e","name":"DNS opbeans-node","timestamp":1646055646349660,"trace_id":"20b6a0b0631f8ddf9b024ec553cf9c32","type":"external","action":"dns","outcome":"success","parent_id":"c4a741c6015ed587","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"20b6a0b0631f8ddf"}} +{"span":{"duration":0.28049999999999997,"id":"83ccc751c8aa3701","name":"Connect 172.23.0.10:3000","timestamp":1646055646350361,"trace_id":"20b6a0b0631f8ddf9b024ec553cf9c32","type":"external","action":"connect","outcome":"success","parent_id":"c4a741c6015ed587","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"20b6a0b0631f8ddf"}} +{"transaction":{"duration":2.487583,"id":"7bb3648ec79e7a43","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055646497951,"trace_id":"20b6a0b0631f8ddf9b024ec553cf9c32","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-20b6a0b0631f8ddf9b024ec553cf9c32-7415f1d3c847709c-01","Elastic-Apm-Traceparent":"00-20b6a0b0631f8ddf9b024ec553cf9c32-7415f1d3c847709c-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"7415f1d3c847709c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":170.158584,"id":"390ff4a9c2118f17","name":"Request","timestamp":1646055646350654,"trace_id":"20b6a0b0631f8ddf9b024ec553cf9c32","type":"external","action":"request","outcome":"success","parent_id":"c4a741c6015ed587","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"20b6a0b0631f8ddf"}} +{"span":{"duration":0.134083,"id":"eae6da083374e8b0","name":"Response","timestamp":1646055646520983,"trace_id":"20b6a0b0631f8ddf9b024ec553cf9c32","type":"external","action":"response","outcome":"success","parent_id":"c4a741c6015ed587","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"20b6a0b0631f8ddf"}} +{"span":{"duration":171.53525,"id":"c4a741c6015ed587","name":"GET opbeans-node:3000","timestamp":1646055646349582,"trace_id":"20b6a0b0631f8ddf9b024ec553cf9c32","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"20b6a0b0631f8ddf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"20b6a0b0631f8ddf"}} +{"transaction":{"duration":171.790083,"id":"20b6a0b0631f8ddf","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055646349444,"trace_id":"20b6a0b0631f8ddf9b024ec553cf9c32","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","X-Frame-Options":"DENY","Content-Length":"110","Vary":"Cookie","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:40:46 GMT","X-Powered-By":"Express","Referrer-Policy":"same-origin","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.308458,"id":"d24989da338819c9","name":"DNS opbeans-node","timestamp":1646055646549116,"trace_id":"e405fb080b2f2c82230d8b517e2d7468","type":"external","action":"dns","outcome":"success","parent_id":"e8f4d53276e0ef70","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e405fb080b2f2c82"}} +{"span":{"duration":0.121667,"id":"018ff98ffb640c11","name":"Connect 172.23.0.10:3000","timestamp":1646055646549429,"trace_id":"e405fb080b2f2c82230d8b517e2d7468","type":"external","action":"connect","outcome":"success","parent_id":"e8f4d53276e0ef70","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e405fb080b2f2c82"}} +{"span":{"duration":0.93775,"id":"613cb68836a32433","name":"SELECT FROM customers","timestamp":1646055646559018,"trace_id":"e90f13afd0fb05f600452cf4524e5c66","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"64ee917bc43d017e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"64ee917bc43d017e"}} +{"transaction":{"duration":5.4138329999999995,"id":"64ee917bc43d017e","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055646558734,"trace_id":"e90f13afd0fb05f600452cf4524e5c66","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Traceparent":"00-e90f13afd0fb05f600452cf4524e5c66-da0781670444cd8c-01","Elastic-Apm-Traceparent":"00-e90f13afd0fb05f600452cf4524e5c66-da0781670444cd8c-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"da0781670444cd8c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":19.476667,"id":"788e4447a8ee4566","name":"Request","timestamp":1646055646549566,"trace_id":"e405fb080b2f2c82230d8b517e2d7468","type":"external","action":"request","outcome":"success","parent_id":"e8f4d53276e0ef70","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e405fb080b2f2c82"}} +{"span":{"duration":0.097583,"id":"2c5b446d8da0c008","name":"Response","timestamp":1646055646569071,"trace_id":"e405fb080b2f2c82230d8b517e2d7468","type":"external","action":"response","outcome":"success","parent_id":"e8f4d53276e0ef70","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e405fb080b2f2c82"}} +{"span":{"duration":20.188583,"id":"e8f4d53276e0ef70","name":"GET opbeans-node:3000","timestamp":1646055646548984,"trace_id":"e405fb080b2f2c82230d8b517e2d7468","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/6223","status_code":404}},"outcome":"failure","parent_id":"e405fb080b2f2c82","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e405fb080b2f2c82"}} +{"transaction":{"duration":20.442458,"id":"e405fb080b2f2c82","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055646548918,"trace_id":"e405fb080b2f2c82230d8b517e2d7468","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/6223","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/6223"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"0","X-Powered-By":"Express","Date":"Mon, 28 Feb 2022 13:40:46 GMT"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"transaction":{"duration":0.648542,"id":"ddb51287d30667ea","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055646587810,"trace_id":"ddb51287d30667ea2c58d9e13e133114","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":63.986917000000005,"id":"ec7a91c650fc46c2","name":"Request","timestamp":1646055646607081,"trace_id":"ff44869290cc09478d5dfbdae48264be","type":"external","action":"request","outcome":"success","parent_id":"ae62a35b9f6d8b84","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ff44869290cc0947"}} +{"span":{"duration":3.1727499999999997,"id":"c9ff58d939b837bb","name":"Response","timestamp":1646055646671108,"trace_id":"ff44869290cc09478d5dfbdae48264be","type":"external","action":"response","outcome":"success","parent_id":"ae62a35b9f6d8b84","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ff44869290cc0947"}} +{"span":{"duration":67.225875,"id":"ae62a35b9f6d8b84","name":"GET opbeans-ruby:3000","timestamp":1646055646607061,"trace_id":"ff44869290cc09478d5dfbdae48264be","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/6/customers?limit=100","status_code":200}},"outcome":"success","parent_id":"ff44869290cc0947","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ff44869290cc0947"}} +{"transaction":{"duration":67.479084,"id":"ff44869290cc0947","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055646606990,"trace_id":"ff44869290cc09478d5dfbdae48264be","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","search":"limit=100","full":"http://opbeans-go:3000/api/products/6/customers?limit=100"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","X-Download-Options":"noopen","Cache-Control":"max-age=0, private, must-revalidate","Content-Type":"application/json; charset=utf-8","X-Xss-Protection":"1; mode=block","X-Content-Type-Options":"nosniff","Referrer-Policy":"strict-origin-when-cross-origin","Vary":"Accept","X-Request-Id":"39c8ffe1-f15c-47f9-9e3f-69794e95b4bd","X-Frame-Options":"SAMEORIGIN","X-Permitted-Cross-Domain-Policies":"none","X-Runtime":"0.051086"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.4767910000000002,"id":"259158466cd1a3a0","name":"SELECT FROM customers","timestamp":1646055646695190,"trace_id":"bcefc8b20e484c24d7a6902689d2fd07","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"bcefc8b20e484c24","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"bcefc8b20e484c24"}} +{"transaction":{"duration":6.024125,"id":"bcefc8b20e484c24","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055646695160,"trace_id":"bcefc8b20e484c24d7a6902689d2fd07","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","search":"limit=50","full":"http://opbeans-go:3000/api/products/6/customers?limit=50"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.16349999999999998,"id":"551835b4341263b6","name":"GET /oopsie","span_count":{"dropped":0,"started":0},"timestamp":1646055646722773,"trace_id":"551835b4341263b6d6f786e8a498750a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/oopsie","port":"3000","protocol":"http","full":"http://opbeans-go:3000/oopsie"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":500},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":0.473084,"id":"0ec10589e4ac291f","name":"SELECT FROM customers","timestamp":1646055646742265,"trace_id":"41cd125109bf05acad30708ca455a47a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"41cd125109bf05ac","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"41cd125109bf05ac"}} +{"transaction":{"duration":2.3115829999999997,"id":"41cd125109bf05ac","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055646742226,"trace_id":"41cd125109bf05acad30708ca455a47a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":64.375417,"id":"847c699030217be3","name":"Request","timestamp":1646055646766069,"trace_id":"43e2cdd4552cbad3f2308497e9814c87","type":"external","action":"request","outcome":"success","parent_id":"6c718ec738296c7b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"43e2cdd4552cbad3"}} +{"span":{"duration":0.147417,"id":"60d12b7a399641b2","name":"Response","timestamp":1646055646830472,"trace_id":"43e2cdd4552cbad3f2308497e9814c87","type":"external","action":"response","outcome":"success","parent_id":"6c718ec738296c7b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"43e2cdd4552cbad3"}} +{"span":{"duration":64.572875,"id":"6c718ec738296c7b","name":"GET opbeans-ruby:3000","timestamp":1646055646766048,"trace_id":"43e2cdd4552cbad3f2308497e9814c87","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/677","status_code":200}},"outcome":"success","parent_id":"43e2cdd4552cbad3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"43e2cdd4552cbad3"}} +{"transaction":{"duration":65.184375,"id":"43e2cdd4552cbad3","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055646765766,"trace_id":"43e2cdd4552cbad3f2308497e9814c87","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/677","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/677"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.354875,"id":"863b07bcd3c6bd77","name":"SELECT FROM product_types","timestamp":1646055646849439,"trace_id":"1013479eb4cc5ad459c66f1086d02987","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1013479eb4cc5ad4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1013479eb4cc5ad4"}} +{"transaction":{"duration":0.7738750000000001,"id":"1013479eb4cc5ad4","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055646849406,"trace_id":"1013479eb4cc5ad459c66f1086d02987","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.472041,"id":"cda46458f3ace5f1","name":"DNS opbeans-python","timestamp":1646055646867895,"trace_id":"47923a2e32da4f1e4733c0f3c84dee93","type":"external","action":"dns","outcome":"success","parent_id":"911cd860b78694b8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"47923a2e32da4f1e"}} +{"span":{"duration":0.11933300000000001,"id":"1ca1a3d6c360e6c2","name":"Connect 172.23.0.11:3000","timestamp":1646055646868378,"trace_id":"47923a2e32da4f1e4733c0f3c84dee93","type":"external","action":"connect","outcome":"success","parent_id":"911cd860b78694b8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"47923a2e32da4f1e"}} +{"span":{"duration":18.009292,"id":"48f2c7950996fb82","name":"Request","timestamp":1646055646868508,"trace_id":"47923a2e32da4f1e4733c0f3c84dee93","type":"external","action":"request","outcome":"success","parent_id":"911cd860b78694b8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"47923a2e32da4f1e"}} +{"span":{"duration":0.564083,"id":"363ec0ff01f6845c","name":"Response","timestamp":1646055646886552,"trace_id":"47923a2e32da4f1e4733c0f3c84dee93","type":"external","action":"response","outcome":"success","parent_id":"911cd860b78694b8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"47923a2e32da4f1e"}} +{"span":{"duration":19.265083999999998,"id":"911cd860b78694b8","name":"GET opbeans-python:3000","timestamp":1646055646867852,"trace_id":"47923a2e32da4f1e4733c0f3c84dee93","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/501","status_code":200}},"outcome":"success","parent_id":"47923a2e32da4f1e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"47923a2e32da4f1e"}} +{"transaction":{"duration":19.544292000000002,"id":"47923a2e32da4f1e","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055646867668,"trace_id":"47923a2e32da4f1e4733c0f3c84dee93","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/501","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/501"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:46 GMT","Content-Type":"application/json","X-Frame-Options":"DENY","Vary":"Cookie","Content-Length":"321","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.40770900000000004,"id":"ad37c870c52b369d","name":"SELECT FROM orders","timestamp":1646055646908819,"trace_id":"87a6e5ea8a399164f4541024b2b82ab6","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"87a6e5ea8a399164","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"87a6e5ea8a399164"}} +{"span":{"duration":0.5035000000000001,"id":"1e8397b50b27376d","name":"SELECT FROM products","timestamp":1646055646909259,"trace_id":"87a6e5ea8a399164f4541024b2b82ab6","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"87a6e5ea8a399164","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"87a6e5ea8a399164"}} +{"transaction":{"duration":1.2978340000000002,"id":"87a6e5ea8a399164","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055646908801,"trace_id":"87a6e5ea8a399164f4541024b2b82ab6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/71","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/71"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":19.115416,"id":"b95e2debc48c1672","name":"Request","timestamp":1646055646927684,"trace_id":"64dab799174ae2588a34ac39aa993e9e","type":"external","action":"request","outcome":"success","parent_id":"be03c4c47b35b2c9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"64dab799174ae258"}} +{"span":{"duration":0.131291,"id":"2843a8e225907b69","name":"Response","timestamp":1646055646946822,"trace_id":"64dab799174ae2588a34ac39aa993e9e","type":"external","action":"response","outcome":"success","parent_id":"be03c4c47b35b2c9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"64dab799174ae258"}} +{"span":{"duration":19.289875000000002,"id":"be03c4c47b35b2c9","name":"GET opbeans-node:3000","timestamp":1646055646927664,"trace_id":"64dab799174ae2588a34ac39aa993e9e","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"64dab799174ae258","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"64dab799174ae258"}} +{"transaction":{"duration":19.709125,"id":"64dab799174ae258","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055646927467,"trace_id":"64dab799174ae2588a34ac39aa993e9e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:46 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"189","Etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\""},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.432042,"id":"d6491c8db79e947c","name":"SELECT FROM customers","timestamp":1646055646966261,"trace_id":"3bbad110787300999fcdddb32ce36c6f","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3bbad11078730099","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3bbad11078730099"}} +{"transaction":{"duration":0.743542,"id":"3bbad11078730099","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055646966231,"trace_id":"3bbad110787300999fcdddb32ce36c6f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/969","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/969"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.812042,"id":"e334064174f25509","name":"SELECT FROM customers","timestamp":1646055646986370,"trace_id":"debb22a37d190a8ca46db278dce43daf","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"debb22a37d190a8c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"debb22a37d190a8c"}} +{"transaction":{"duration":1.001125,"id":"debb22a37d190a8c","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055646986345,"trace_id":"debb22a37d190a8ca46db278dce43daf","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/510","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/510"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.533375,"id":"d0c86f91d41486f1","name":"SELECT FROM customers","timestamp":1646055647006969,"trace_id":"468ab9389a47532df57c40aaf8ab3c81","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"468ab9389a47532d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"468ab9389a47532d"}} +{"transaction":{"duration":0.681875,"id":"468ab9389a47532d","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055647006933,"trace_id":"468ab9389a47532df57c40aaf8ab3c81","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/7394","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/7394"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.317542,"id":"eb6ae1d099cbd5aa","name":"DNS opbeans-python","timestamp":1646055647023896,"trace_id":"ffb8822dce2f5a4fae38debf1adcfb3a","type":"external","action":"dns","outcome":"success","parent_id":"cc474ba70410ac39","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6be1de84696d66e2"}} +{"span":{"duration":0.14566700000000002,"id":"690267249d32f267","name":"Connect 172.23.0.11:3000","timestamp":1646055647024218,"trace_id":"ffb8822dce2f5a4fae38debf1adcfb3a","type":"external","action":"connect","outcome":"success","parent_id":"cc474ba70410ac39","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6be1de84696d66e2"}} +{"span":{"duration":0.32975000000000004,"id":"8f544f957817ab1b","name":"SELECT FROM product_types","timestamp":1646055647027729,"trace_id":"1c28ca117a4d986dde13ad604873799c","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1c28ca117a4d986d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1c28ca117a4d986d"}} +{"transaction":{"duration":0.592167,"id":"1c28ca117a4d986d","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055647027713,"trace_id":"1c28ca117a4d986dde13ad604873799c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":21.137667,"id":"d737227430e9a768","name":"Request","timestamp":1646055647024373,"trace_id":"ffb8822dce2f5a4fae38debf1adcfb3a","type":"external","action":"request","outcome":"success","parent_id":"cc474ba70410ac39","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6be1de84696d66e2"}} +{"span":{"duration":0.12375,"id":"bb87f53925ef38dd","name":"Response","timestamp":1646055647045537,"trace_id":"ffb8822dce2f5a4fae38debf1adcfb3a","type":"external","action":"response","outcome":"success","parent_id":"cc474ba70410ac39","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6be1de84696d66e2"}} +{"span":{"duration":21.802166,"id":"cc474ba70410ac39","name":"GET opbeans-python:3000","timestamp":1646055647023859,"trace_id":"ffb8822dce2f5a4fae38debf1adcfb3a","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers/366","status_code":200}},"outcome":"success","parent_id":"6be1de84696d66e2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6be1de84696d66e2"}} +{"transaction":{"duration":23.185667,"id":"6be1de84696d66e2","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055647023625,"trace_id":"ffb8822dce2f5a4fae38debf1adcfb3a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/366","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/366"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-ffb8822dce2f5a4fae38debf1adcfb3a-5aa521ad009ae6ad-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-ffb8822dce2f5a4fae38debf1adcfb3a-5aa521ad009ae6ad-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:40:47 GMT","Content-Type":"application/json","Content-Length":"198","Referrer-Policy":"same-origin","Server":"gunicorn","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"5aa521ad009ae6ad","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.317959,"id":"11595f06a7713e46","name":"DNS opbeans-python","timestamp":1646055647065255,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"external","action":"dns","outcome":"success","parent_id":"c40510061f337065","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bb25dfa1596dee51"}} +{"span":{"duration":0.088209,"id":"6d7b60a89dd85400","name":"Connect 172.23.0.11:3000","timestamp":1646055647065577,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"external","action":"connect","outcome":"success","parent_id":"c40510061f337065","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bb25dfa1596dee51"}} +{"span":{"duration":0.365084,"id":"6ac01ff8048a18e5","name":"SELECT FROM product_types","timestamp":1646055647085773,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0f1948b005403cd2","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0f1948b005403cd2"}} +{"transaction":{"duration":0.442375,"id":"0f1948b005403cd2","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055647085763,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-057ac3b2870ff4d0d2774390d162b38e-03892d85ff9f1df9-01","Traceparent":"00-057ac3b2870ff4d0d2774390d162b38e-03892d85ff9f1df9-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.11","User-Agent":"python-requests/2.27.1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"03892d85ff9f1df9","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.572583,"id":"2dfd5f5d19d2c6d0","name":"Request","timestamp":1646055647085690,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"external","action":"request","outcome":"success","parent_id":"03892d85ff9f1df9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aff3c2db066c4a09"}} +{"span":{"duration":0.044958,"id":"979d3e1fc97fa232","name":"Response","timestamp":1646055647086263,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"external","action":"response","outcome":"success","parent_id":"03892d85ff9f1df9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aff3c2db066c4a09"}} +{"span":{"duration":0.6373340000000001,"id":"03892d85ff9f1df9","name":"GET opbeans-go:3000","timestamp":1646055647085672,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types","status_code":200}},"outcome":"success","parent_id":"aff3c2db066c4a09","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aff3c2db066c4a09"}} +{"transaction":{"duration":0.825,"id":"aff3c2db066c4a09","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055647085510,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Connection":"keep-alive","Traceparent":"00-057ac3b2870ff4d0d2774390d162b38e-e2074090a1690264-01","Elastic-Apm-Traceparent":"00-057ac3b2870ff4d0d2774390d162b38e-e2074090a1690264-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:47 GMT","Content-Length":"112"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e2074090a1690264","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":28.977249999999998,"id":"ddfcc50aad46b882","name":"Request","timestamp":1646055647065676,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"external","action":"request","outcome":"success","parent_id":"c40510061f337065","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bb25dfa1596dee51"}} +{"span":{"duration":0.121333,"id":"d94d1e0b8264cdb1","name":"Response","timestamp":1646055647094675,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"external","action":"response","outcome":"success","parent_id":"c40510061f337065","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bb25dfa1596dee51"}} +{"span":{"duration":29.585208,"id":"c40510061f337065","name":"GET opbeans-python:3000","timestamp":1646055647065212,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"bb25dfa1596dee51","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"bb25dfa1596dee51"}} +{"transaction":{"duration":30.656833000000002,"id":"bb25dfa1596dee51","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055647065144,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Traceparent":"00-057ac3b2870ff4d0d2774390d162b38e-12e387d443cc4fcb-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-057ac3b2870ff4d0d2774390d162b38e-12e387d443cc4fcb-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Content-Type":"application/json; charset=utf-8","Content-Length":"112","Vary":"Cookie","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:47 GMT","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"12e387d443cc4fcb","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":50.9765,"id":"0bc5e4fdd61a576a","name":"Request","timestamp":1646055647051799,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"external","action":"request","outcome":"success","parent_id":"8333a2be02771f3e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"057ac3b2870ff4d0"}} +{"span":{"duration":0.28412499999999996,"id":"bf4ef9ec0af83d8e","name":"Response","timestamp":1646055647102802,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"external","action":"response","outcome":"success","parent_id":"8333a2be02771f3e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"057ac3b2870ff4d0"}} +{"span":{"duration":51.308625,"id":"8333a2be02771f3e","name":"GET opbeans-node:3000","timestamp":1646055647051778,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types","status_code":200}},"outcome":"success","parent_id":"057ac3b2870ff4d0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"057ac3b2870ff4d0"}} +{"transaction":{"duration":51.770375,"id":"057ac3b2870ff4d0","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055647051465,"trace_id":"057ac3b2870ff4d0d2774390d162b38e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Date":"Mon, 28 Feb 2022 13:40:47 GMT","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"112","Content-Type":"application/json; charset=utf-8","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.311458,"id":"ed3e00f4646808be","name":"DNS opbeans-node","timestamp":1646055647125233,"trace_id":"d711a1f75a2138eaab2dd103d02fd4f2","type":"external","action":"dns","outcome":"success","parent_id":"afced30947a17350","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d711a1f75a2138ea"}} +{"span":{"duration":0.082291,"id":"3279a1aebe315058","name":"Connect 172.23.0.10:3000","timestamp":1646055647125558,"trace_id":"d711a1f75a2138eaab2dd103d02fd4f2","type":"external","action":"connect","outcome":"success","parent_id":"afced30947a17350","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d711a1f75a2138ea"}} +{"span":{"duration":0.341875,"id":"73046476e2943c26","name":"SELECT FROM products","timestamp":1646055647135995,"trace_id":"6a059097c656b024627bee9b052ccf5b","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b0c1078f2b6de3be","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b0c1078f2b6de3be"}} +{"transaction":{"duration":0.45429200000000003,"id":"b0c1078f2b6de3be","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055647135974,"trace_id":"6a059097c656b024627bee9b052ccf5b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"X-Forwarded-For":"172.23.0.10","Accept-Encoding":"gzip","Elastic-Apm-Traceparent":"00-6a059097c656b024627bee9b052ccf5b-90603965aad85f22-01","Traceparent":"00-6a059097c656b024627bee9b052ccf5b-90603965aad85f22-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"90603965aad85f22","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.65975,"id":"2115caeb06f311fe","name":"Request","timestamp":1646055647135801,"trace_id":"6a059097c656b024627bee9b052ccf5b","type":"external","action":"request","outcome":"success","parent_id":"90603965aad85f22","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6e83f3138a6bd159"}} +{"span":{"duration":0.09125,"id":"9b4b0f0977dbe40c","name":"Response","timestamp":1646055647136461,"trace_id":"6a059097c656b024627bee9b052ccf5b","type":"external","action":"response","outcome":"success","parent_id":"90603965aad85f22","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6e83f3138a6bd159"}} +{"span":{"duration":0.773,"id":"90603965aad85f22","name":"GET opbeans-go:3000","timestamp":1646055647135780,"trace_id":"6a059097c656b024627bee9b052ccf5b","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products","status_code":200}},"outcome":"success","parent_id":"6e83f3138a6bd159","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6e83f3138a6bd159"}} +{"transaction":{"duration":1.0642500000000001,"id":"6e83f3138a6bd159","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055647135558,"trace_id":"6a059097c656b024627bee9b052ccf5b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-6a059097c656b024627bee9b052ccf5b-9ff3d31893fdaa8f-01","Connection":"close","Traceparent":"00-6a059097c656b024627bee9b052ccf5b-9ff3d31893fdaa8f-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:47 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"9ff3d31893fdaa8f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.35970799999999997,"id":"3861373361b60eda","name":"SELECT FROM product_types","timestamp":1646055647146975,"trace_id":"0dfade8c52553c83d7653311d31416f4","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f5399f050f1a3d7f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f5399f050f1a3d7f"}} +{"transaction":{"duration":0.468291,"id":"f5399f050f1a3d7f","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055647146954,"trace_id":"0dfade8c52553c83d7653311d31416f4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Elastic-Apm-Traceparent":"00-0dfade8c52553c83d7653311d31416f4-86e4ba5419d8f35c-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-0dfade8c52553c83d7653311d31416f4-86e4ba5419d8f35c-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"86e4ba5419d8f35c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":45.871959,"id":"a8e6e0444fb40f97","name":"Request","timestamp":1646055647125650,"trace_id":"d711a1f75a2138eaab2dd103d02fd4f2","type":"external","action":"request","outcome":"success","parent_id":"afced30947a17350","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d711a1f75a2138ea"}} +{"span":{"duration":0.07725,"id":"31da46abfef0dd76","name":"Response","timestamp":1646055647171551,"trace_id":"d711a1f75a2138eaab2dd103d02fd4f2","type":"external","action":"response","outcome":"success","parent_id":"afced30947a17350","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d711a1f75a2138ea"}} +{"span":{"duration":46.453666999999996,"id":"afced30947a17350","name":"GET opbeans-node:3000","timestamp":1646055647125176,"trace_id":"d711a1f75a2138eaab2dd103d02fd4f2","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/96","status_code":200}},"outcome":"success","parent_id":"d711a1f75a2138ea","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d711a1f75a2138ea"}} +{"transaction":{"duration":46.704833,"id":"d711a1f75a2138ea","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055647125017,"trace_id":"d711a1f75a2138eaab2dd103d02fd4f2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/96","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/96"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"185","Etag":"W/\"b9-mWXXbPC4ukVf3r6ExB2E7yjqPE4\"","Date":"Mon, 28 Feb 2022 13:40:47 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.28525,"id":"2fb9db6053af1429","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055647181901,"trace_id":"093dcaf61f5fe443b3a2fdd25faeeca0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-093dcaf61f5fe443b3a2fdd25faeeca0-7568fa8cde9c97da-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-093dcaf61f5fe443b3a2fdd25faeeca0-7568fa8cde9c97da-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"7568fa8cde9c97da","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.22924999999999998,"id":"5a22bd0654181b00","name":"SELECT FROM customers","timestamp":1646055647190052,"trace_id":"6287a7ddb9d48993aadf5c09f5e24ad3","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ea0fe01573c609d1","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ea0fe01573c609d1"}} +{"transaction":{"duration":1.5859999999999999,"id":"ea0fe01573c609d1","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055647190041,"trace_id":"6287a7ddb9d48993aadf5c09f5e24ad3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-6287a7ddb9d48993aadf5c09f5e24ad3-0c2397b40403c480-01","Traceparent":"00-6287a7ddb9d48993aadf5c09f5e24ad3-0c2397b40403c480-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"0c2397b40403c480","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.701083,"id":"de601f048db25840","name":"Request","timestamp":1646055647189991,"trace_id":"6287a7ddb9d48993aadf5c09f5e24ad3","type":"external","action":"request","outcome":"success","parent_id":"0c2397b40403c480","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6287a7ddb9d48993"}} +{"span":{"duration":1.948083,"id":"ce5e48e17df2b783","name":"Response","timestamp":1646055647191693,"trace_id":"6287a7ddb9d48993aadf5c09f5e24ad3","type":"external","action":"response","outcome":"success","parent_id":"0c2397b40403c480","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6287a7ddb9d48993"}} +{"span":{"duration":3.67475,"id":"0c2397b40403c480","name":"GET opbeans-go:3000","timestamp":1646055647189969,"trace_id":"6287a7ddb9d48993aadf5c09f5e24ad3","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"6287a7ddb9d48993","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6287a7ddb9d48993"}} +{"transaction":{"duration":3.9030839999999998,"id":"6287a7ddb9d48993","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055647189790,"trace_id":"6287a7ddb9d48993aadf5c09f5e24ad3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:47 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.612,"id":"73804dadd144cb03","name":"SELECT FROM orders","timestamp":1646055647227694,"trace_id":"8a00743ffffc98a0be3bcdb3fc12cb9f","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8a00743ffffc98a0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8a00743ffffc98a0"}} +{"span":{"duration":0.5974170000000001,"id":"3cc6b97ced586724","name":"SELECT FROM products","timestamp":1646055647228349,"trace_id":"8a00743ffffc98a0be3bcdb3fc12cb9f","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8a00743ffffc98a0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8a00743ffffc98a0"}} +{"transaction":{"duration":1.536375,"id":"8a00743ffffc98a0","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055647227675,"trace_id":"8a00743ffffc98a0be3bcdb3fc12cb9f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/986","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/986"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.658125,"id":"7d8836b94ad63a70","name":"SELECT FROM orders","timestamp":1646055647263356,"trace_id":"36010dc07679163f609b5214ee648d27","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"36010dc07679163f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"36010dc07679163f"}} +{"transaction":{"duration":2.821917,"id":"36010dc07679163f","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055647263338,"trace_id":"36010dc07679163f609b5214ee648d27","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.649709,"id":"b549c0315e6f5c6f","name":"SELECT FROM products","timestamp":1646055647287447,"trace_id":"276f9439fd8b17842610977cd9afcd79","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"276f9439fd8b1784","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"276f9439fd8b1784"}} +{"transaction":{"duration":2.811541,"id":"276f9439fd8b1784","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055647287429,"trace_id":"276f9439fd8b17842610977cd9afcd79","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.669166,"id":"e7eb169308d2506a","name":"SELECT FROM orders","timestamp":1646055647309689,"trace_id":"c2bb8003d80b3a49533e7f484521e31a","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c2bb8003d80b3a49","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c2bb8003d80b3a49"}} +{"transaction":{"duration":3.7083749999999998,"id":"c2bb8003d80b3a49","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055647309647,"trace_id":"c2bb8003d80b3a49533e7f484521e31a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":38.522667,"id":"5b6563735ab102e9","name":"Request","timestamp":1646055647332607,"trace_id":"b5511e05fd9a05ab558e69ef26bfc019","type":"external","action":"request","outcome":"success","parent_id":"8eb5cfbebe47ce4f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b5511e05fd9a05ab"}} +{"span":{"duration":3.872541,"id":"8f2972f12fa7d7bf","name":"Response","timestamp":1646055647371205,"trace_id":"b5511e05fd9a05ab558e69ef26bfc019","type":"external","action":"response","outcome":"success","parent_id":"8eb5cfbebe47ce4f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b5511e05fd9a05ab"}} +{"span":{"duration":42.51575,"id":"8eb5cfbebe47ce4f","name":"GET opbeans-node:3000","timestamp":1646055647332565,"trace_id":"b5511e05fd9a05ab558e69ef26bfc019","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"b5511e05fd9a05ab","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b5511e05fd9a05ab"}} +{"transaction":{"duration":42.702875,"id":"b5511e05fd9a05ab","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055647332509,"trace_id":"b5511e05fd9a05ab558e69ef26bfc019","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","X-Runtime":"0.016792","Date":"Mon, 28 Feb 2022 13:40:47 GMT","Content-Type":"application/json; charset=utf-8","Etag":"W/\"37992d7e5d1df22332cd7c5be552ddce\"","X-Content-Type-Options":"nosniff","X-Permitted-Cross-Domain-Policies":"none","Cache-Control":"max-age=0, private, must-revalidate","X-Download-Options":"noopen","X-Request-Id":"3e8b5d9e-d8a0-4d28-87c6-4ada240b42e1","X-Xss-Protection":"1; mode=block","X-Frame-Options":"SAMEORIGIN","Referrer-Policy":"strict-origin-when-cross-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":1.250084,"id":"dd9ab9b8aed2f60d","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055647395298,"trace_id":"dd9ab9b8aed2f60dcb9a676d5642d426","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.281875,"id":"b6ec771ad53d7f5f","name":"DNS opbeans-node","timestamp":1646055647416203,"trace_id":"84e8975aebda998754223d3e742e9f3c","type":"external","action":"dns","outcome":"success","parent_id":"dce193886b917bbf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"84e8975aebda9987"}} +{"span":{"duration":0.968791,"id":"6141757ad8a85741","name":"Connect 172.23.0.10:3000","timestamp":1646055647416490,"trace_id":"84e8975aebda998754223d3e742e9f3c","type":"external","action":"connect","outcome":"success","parent_id":"dce193886b917bbf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"84e8975aebda9987"}} +{"span":{"duration":47.222334,"id":"7496741aee41a2ee","name":"Request","timestamp":1646055647417506,"trace_id":"84e8975aebda998754223d3e742e9f3c","type":"external","action":"request","outcome":"success","parent_id":"dce193886b917bbf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"84e8975aebda9987"}} +{"span":{"duration":0.121292,"id":"86df2a5851cd9ef4","name":"Response","timestamp":1646055647464772,"trace_id":"84e8975aebda998754223d3e742e9f3c","type":"external","action":"response","outcome":"success","parent_id":"dce193886b917bbf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"84e8975aebda9987"}} +{"span":{"duration":48.742166000000005,"id":"dce193886b917bbf","name":"GET opbeans-node:3000","timestamp":1646055647416152,"trace_id":"84e8975aebda998754223d3e742e9f3c","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types","status_code":200}},"outcome":"success","parent_id":"84e8975aebda9987","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"84e8975aebda9987"}} +{"transaction":{"duration":49.054917,"id":"84e8975aebda9987","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055647416002,"trace_id":"84e8975aebda998754223d3e742e9f3c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Content-Type":"application/json","X-Frame-Options":"DENY","Date":"Mon, 28 Feb 2022 13:40:47 GMT","Content-Length":"123","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6,"id":"73a250d5eb602b33","name":"SELECT FROM customers","timestamp":1646055647485100,"trace_id":"82da8db2681a529b578a4534f7a1f9ad","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"82da8db2681a529b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"82da8db2681a529b"}} +{"transaction":{"duration":2.2329160000000003,"id":"82da8db2681a529b","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055647485083,"trace_id":"82da8db2681a529b578a4534f7a1f9ad","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5167919999999999,"id":"5f84657bd060701f","name":"SELECT FROM orders","timestamp":1646055647487424,"trace_id":"80a01c36ab03387e757c8d78243d796c","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5c89358cab651170","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5c89358cab651170"}} +{"transaction":{"duration":2.096584,"id":"5c89358cab651170","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055647487413,"trace_id":"80a01c36ab03387e757c8d78243d796c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Connection":"close","Traceparent":"00-80a01c36ab03387e757c8d78243d796c-3e242428a4d08614-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-80a01c36ab03387e757c8d78243d796c-3e242428a4d08614-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"3e242428a4d08614","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.621791,"id":"02e014cf10a60ff8","name":"SELECT FROM customers","timestamp":1646055647511119,"trace_id":"e320d23bb0d958300d9bd6767986abfc","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e320d23bb0d95830","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e320d23bb0d95830"}} +{"transaction":{"duration":0.835667,"id":"e320d23bb0d95830","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055647511099,"trace_id":"e320d23bb0d958300d9bd6767986abfc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/566","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/566"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.544667,"id":"9ef068275564b4b8","name":"SELECT FROM products","timestamp":1646055647537029,"trace_id":"6fecd952459d22d8201564adfe38c1a8","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"67e950a313968232","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"67e950a313968232"}} +{"transaction":{"duration":1.748583,"id":"67e950a313968232","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055647537013,"trace_id":"6fecd952459d22d8201564adfe38c1a8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-6fecd952459d22d8201564adfe38c1a8-5de5c5e40f165e5b-01","Traceparent":"00-6fecd952459d22d8201564adfe38c1a8-5de5c5e40f165e5b-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"5de5c5e40f165e5b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.104584,"id":"36f8ea71972a38c8","name":"Request","timestamp":1646055647536813,"trace_id":"6fecd952459d22d8201564adfe38c1a8","type":"external","action":"request","outcome":"success","parent_id":"5de5c5e40f165e5b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6fecd952459d22d8"}} +{"span":{"duration":0.026834,"id":"90b844303c46c09c","name":"Response","timestamp":1646055647538919,"trace_id":"6fecd952459d22d8201564adfe38c1a8","type":"external","action":"response","outcome":"success","parent_id":"5de5c5e40f165e5b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6fecd952459d22d8"}} +{"span":{"duration":2.232792,"id":"5de5c5e40f165e5b","name":"GET opbeans-go:3000","timestamp":1646055647536714,"trace_id":"6fecd952459d22d8201564adfe38c1a8","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"6fecd952459d22d8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6fecd952459d22d8"}} +{"transaction":{"duration":2.567167,"id":"6fecd952459d22d8","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055647536472,"trace_id":"6fecd952459d22d8201564adfe38c1a8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:47 GMT","Content-Length":"403"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.460958,"id":"90876041137bdcc8","name":"DNS opbeans-ruby","timestamp":1646055647630532,"trace_id":"5a843cef6d96c2d4ebf0b2db7bd049d7","type":"external","action":"dns","outcome":"success","parent_id":"480f9596e824897e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"edf846b607104af8"}} +{"span":{"duration":0.101458,"id":"48994898e9c0168c","name":"Connect 172.23.0.12:3000","timestamp":1646055647630998,"trace_id":"5a843cef6d96c2d4ebf0b2db7bd049d7","type":"external","action":"connect","outcome":"success","parent_id":"480f9596e824897e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"edf846b607104af8"}} +{"span":{"duration":167.257792,"id":"07d1ebd3429e7859","name":"Request","timestamp":1646055647559818,"trace_id":"48135a08cfcc94cea454248fe0d4e610","type":"external","action":"request","outcome":"success","parent_id":"8ec66bf806da5846","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"48135a08cfcc94ce"}} +{"span":{"duration":2.36825,"id":"f669ad37bdf04143","name":"Response","timestamp":1646055647727107,"trace_id":"48135a08cfcc94cea454248fe0d4e610","type":"external","action":"response","outcome":"success","parent_id":"8ec66bf806da5846","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"48135a08cfcc94ce"}} +{"span":{"duration":169.681209,"id":"8ec66bf806da5846","name":"GET opbeans-ruby:3000","timestamp":1646055647559798,"trace_id":"48135a08cfcc94cea454248fe0d4e610","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"48135a08cfcc94ce","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"48135a08cfcc94ce"}} +{"transaction":{"duration":169.977792,"id":"48135a08cfcc94ce","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055647559582,"trace_id":"48135a08cfcc94cea454248fe0d4e610","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.29708300000000004,"id":"9d84434355be2679","name":"DNS opbeans-python","timestamp":1646055647761960,"trace_id":"2bd0b4ce94f0b982364b3619c90daab2","type":"external","action":"dns","outcome":"success","parent_id":"d9d998acb337616b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2bd0b4ce94f0b982"}} +{"span":{"duration":0.126459,"id":"327a1ead25e41ae1","name":"Connect 172.23.0.11:3000","timestamp":1646055647762262,"trace_id":"2bd0b4ce94f0b982364b3619c90daab2","type":"external","action":"connect","outcome":"success","parent_id":"d9d998acb337616b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2bd0b4ce94f0b982"}} +{"span":{"duration":2.0995,"id":"d10b39c54bc4b9d4","name":"SELECT FROM products","timestamp":1646055647785310,"trace_id":"5a843cef6d96c2d4ebf0b2db7bd049d7","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"340d9d60d42274c0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"340d9d60d42274c0"}} +{"transaction":{"duration":2.237542,"id":"340d9d60d42274c0","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055647785291,"trace_id":"5a843cef6d96c2d4ebf0b2db7bd049d7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Connection":"close","Traceparent":"00-5a843cef6d96c2d4ebf0b2db7bd049d7-1209459a2195a0cd-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-5a843cef6d96c2d4ebf0b2db7bd049d7-1209459a2195a0cd-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"1209459a2195a0cd","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":189.23237500000002,"id":"7d3cc6a4323a15ba","name":"Request","timestamp":1646055647631117,"trace_id":"5a843cef6d96c2d4ebf0b2db7bd049d7","type":"external","action":"request","outcome":"success","parent_id":"480f9596e824897e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"edf846b607104af8"}} +{"span":{"duration":0.165625,"id":"e18c81beb3bdeaf8","name":"Response","timestamp":1646055647820378,"trace_id":"5a843cef6d96c2d4ebf0b2db7bd049d7","type":"external","action":"response","outcome":"success","parent_id":"480f9596e824897e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"edf846b607104af8"}} +{"span":{"duration":190.05516699999998,"id":"480f9596e824897e","name":"GET opbeans-ruby:3000","timestamp":1646055647630489,"trace_id":"5a843cef6d96c2d4ebf0b2db7bd049d7","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"edf846b607104af8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"edf846b607104af8"}} +{"transaction":{"duration":195.796541,"id":"edf846b607104af8","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055647630372,"trace_id":"5a843cef6d96c2d4ebf0b2db7bd049d7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Traceparent":"00-5a843cef6d96c2d4ebf0b2db7bd049d7-6b80742990782127-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-5a843cef6d96c2d4ebf0b2db7bd049d7-6b80742990782127-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6b80742990782127","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.321708,"id":"99a0a552bbed17e2","name":"SELECT FROM orders","timestamp":1646055647839423,"trace_id":"2678bee03b76a1cf8ff496cb0d3f15db","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"44d7251c63adee2c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"44d7251c63adee2c"}} +{"transaction":{"duration":5.345541,"id":"44d7251c63adee2c","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055647839406,"trace_id":"2678bee03b76a1cf8ff496cb0d3f15db","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Traceparent":"00-2678bee03b76a1cf8ff496cb0d3f15db-647bcba008fc6d93-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-2678bee03b76a1cf8ff496cb0d3f15db-647bcba008fc6d93-01","Connection":"close","User-Agent":"http.rb/5.0.4"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"647bcba008fc6d93","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":150.744667,"id":"7c5acb57f66c753d","name":"Request","timestamp":1646055647762399,"trace_id":"2bd0b4ce94f0b982364b3619c90daab2","type":"external","action":"request","outcome":"success","parent_id":"d9d998acb337616b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2bd0b4ce94f0b982"}} +{"span":{"duration":0.169291,"id":"2b8193376a08579b","name":"Response","timestamp":1646055647913174,"trace_id":"2bd0b4ce94f0b982364b3619c90daab2","type":"external","action":"response","outcome":"success","parent_id":"d9d998acb337616b","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"2bd0b4ce94f0b982"}} +{"span":{"duration":151.53912499999998,"id":"d9d998acb337616b","name":"GET opbeans-python:3000","timestamp":1646055647761805,"trace_id":"2bd0b4ce94f0b982364b3619c90daab2","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/603","status_code":200}},"outcome":"success","parent_id":"2bd0b4ce94f0b982","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"2bd0b4ce94f0b982"}} +{"transaction":{"duration":151.744375,"id":"2bd0b4ce94f0b982","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055647761728,"trace_id":"2bd0b4ce94f0b982364b3619c90daab2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/603","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/603"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:47 GMT","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Content-Type":"application/json","Content-Length":"322","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":94.80524999999999,"id":"5595b76d6d982f49","name":"Request","timestamp":1646055647932503,"trace_id":"d22f7ae62109cc05aad3fdda17bc982b","type":"external","action":"request","outcome":"success","parent_id":"277619c13ce496f2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d22f7ae62109cc05"}} +{"span":{"duration":0.117334,"id":"f0a01f319fbed051","name":"Response","timestamp":1646055648027345,"trace_id":"d22f7ae62109cc05aad3fdda17bc982b","type":"external","action":"response","outcome":"success","parent_id":"277619c13ce496f2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d22f7ae62109cc05"}} +{"span":{"duration":94.979708,"id":"277619c13ce496f2","name":"GET opbeans-ruby:3000","timestamp":1646055647932483,"trace_id":"d22f7ae62109cc05aad3fdda17bc982b","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"d22f7ae62109cc05","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d22f7ae62109cc05"}} +{"transaction":{"duration":95.226875,"id":"d22f7ae62109cc05","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055647932424,"trace_id":"d22f7ae62109cc05aad3fdda17bc982b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.334542,"id":"306b10be8f0acc55","name":"DNS opbeans-python","timestamp":1646055648046677,"trace_id":"84acfe415bdbd5c5804216ad1013e340","type":"external","action":"dns","outcome":"success","parent_id":"71c90b226f7b3352","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"84acfe415bdbd5c5"}} +{"span":{"duration":0.6204160000000001,"id":"ad7f2c08610d8466","name":"Connect 172.23.0.11:3000","timestamp":1646055648047017,"trace_id":"84acfe415bdbd5c5804216ad1013e340","type":"external","action":"connect","outcome":"success","parent_id":"71c90b226f7b3352","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"84acfe415bdbd5c5"}} +{"span":{"duration":20.025125000000003,"id":"fec975d8edd38bbb","name":"Request","timestamp":1646055648047656,"trace_id":"84acfe415bdbd5c5804216ad1013e340","type":"external","action":"request","outcome":"success","parent_id":"71c90b226f7b3352","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"84acfe415bdbd5c5"}} +{"span":{"duration":0.472625,"id":"5d01d319e11140ab","name":"Response","timestamp":1646055648067710,"trace_id":"84acfe415bdbd5c5804216ad1013e340","type":"external","action":"response","outcome":"success","parent_id":"71c90b226f7b3352","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"84acfe415bdbd5c5"}} +{"span":{"duration":21.551333999999997,"id":"71c90b226f7b3352","name":"GET opbeans-python:3000","timestamp":1646055648046633,"trace_id":"84acfe415bdbd5c5804216ad1013e340","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/639","status_code":200}},"outcome":"success","parent_id":"84acfe415bdbd5c5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"84acfe415bdbd5c5"}} +{"transaction":{"duration":21.874000000000002,"id":"84acfe415bdbd5c5","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055648046420,"trace_id":"84acfe415bdbd5c5804216ad1013e340","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/639","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/639"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"313","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:48 GMT","Content-Type":"application/json","Referrer-Policy":"same-origin","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.302667,"id":"024531e88c66b9b6","name":"SELECT FROM product_types","timestamp":1646055648086861,"trace_id":"ee3ec89bfaebe465d2a7f372182d3948","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ee3ec89bfaebe465","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ee3ec89bfaebe465"}} +{"transaction":{"duration":0.43475,"id":"ee3ec89bfaebe465","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055648086817,"trace_id":"ee3ec89bfaebe465d2a7f372182d3948","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5189590000000001,"id":"ac18901ffaacf492","name":"SELECT FROM customers","timestamp":1646055648105636,"trace_id":"2ebaa46b6ffca54944d6655f5258ee83","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2ebaa46b6ffca549","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2ebaa46b6ffca549"}} +{"transaction":{"duration":1.0036669999999999,"id":"2ebaa46b6ffca549","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055648105608,"trace_id":"2ebaa46b6ffca54944d6655f5258ee83","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/6176","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/6176"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"transaction":{"duration":0.364375,"id":"f08fbfdbbbcf3ecc","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055648126955,"trace_id":"f207d8fd86efe32ea816c2b82ed31326","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-f207d8fd86efe32ea816c2b82ed31326-f41a2195366e19b6-01","Traceparent":"00-f207d8fd86efe32ea816c2b82ed31326-f41a2195366e19b6-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"f41a2195366e19b6","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.617958,"id":"eaf7c936930d95b6","name":"Request","timestamp":1646055648126767,"trace_id":"f207d8fd86efe32ea816c2b82ed31326","type":"external","action":"request","outcome":"success","parent_id":"f41a2195366e19b6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f207d8fd86efe32e"}} +{"span":{"duration":0.034415999999999995,"id":"b6af0b77ec02f552","name":"Response","timestamp":1646055648127387,"trace_id":"f207d8fd86efe32ea816c2b82ed31326","type":"external","action":"response","outcome":"success","parent_id":"f41a2195366e19b6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f207d8fd86efe32e"}} +{"span":{"duration":0.698542,"id":"f41a2195366e19b6","name":"GET opbeans-go:3000","timestamp":1646055648126724,"trace_id":"f207d8fd86efe32ea816c2b82ed31326","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"f207d8fd86efe32e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f207d8fd86efe32e"}} +{"transaction":{"duration":0.8837079999999999,"id":"f207d8fd86efe32e","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055648126576,"trace_id":"f207d8fd86efe32ea816c2b82ed31326","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"110","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:48 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.423459,"id":"9b89f21bf30aee33","name":"SELECT FROM orders","timestamp":1646055648148012,"trace_id":"ddd661a9232f50db3a2fccef7fce820f","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ddd661a9232f50db","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ddd661a9232f50db"}} +{"transaction":{"duration":2.601541,"id":"ddd661a9232f50db","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055648147997,"trace_id":"ddd661a9232f50db3a2fccef7fce820f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.43074999999999997,"id":"8cbbab3c57afdab3","name":"SELECT FROM orders","timestamp":1646055648172752,"trace_id":"e9e3d9ad25c4ef72815243bf71301031","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e9e3d9ad25c4ef72","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e9e3d9ad25c4ef72"}} +{"span":{"duration":0.468209,"id":"9a2fc90e15df8267","name":"SELECT FROM products","timestamp":1646055648173211,"trace_id":"e9e3d9ad25c4ef72815243bf71301031","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e9e3d9ad25c4ef72","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e9e3d9ad25c4ef72"}} +{"transaction":{"duration":1.05225,"id":"e9e3d9ad25c4ef72","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055648172736,"trace_id":"e9e3d9ad25c4ef72815243bf71301031","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/255","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/255"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.40325,"id":"ff43a25feb9a3af4","name":"SELECT FROM orders","timestamp":1646055648191231,"trace_id":"e582054103ff7f8f78c984107ffa2e56","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e582054103ff7f8f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e582054103ff7f8f"}} +{"transaction":{"duration":2.323,"id":"e582054103ff7f8f","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055648191213,"trace_id":"e582054103ff7f8f78c984107ffa2e56","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.329042,"id":"8e59b98a2f56f5ff","name":"SELECT FROM orders","timestamp":1646055648215293,"trace_id":"2409b821cc22b45afefe95843b98a6f3","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2409b821cc22b45a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2409b821cc22b45a"}} +{"span":{"duration":0.516917,"id":"a464a80a3eb1d7fa","name":"SELECT FROM products","timestamp":1646055648215650,"trace_id":"2409b821cc22b45afefe95843b98a6f3","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2409b821cc22b45a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2409b821cc22b45a"}} +{"transaction":{"duration":1.0195409999999998,"id":"2409b821cc22b45a","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055648215275,"trace_id":"2409b821cc22b45afefe95843b98a6f3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/112","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/112"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.059666,"id":"19d39cd8895c11bb","name":"SELECT FROM customers","timestamp":1646055648234684,"trace_id":"0da37312d90adf1b3529bd0fc426f350","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0da37312d90adf1b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0da37312d90adf1b"}} +{"transaction":{"duration":2.589834,"id":"0da37312d90adf1b","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055648234662,"trace_id":"0da37312d90adf1b3529bd0fc426f350","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","search":"limit=60","full":"http://opbeans-go:3000/api/products/6/customers?limit=60"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.069666,"id":"8bce62f6385d4350","name":"SELECT FROM customers","timestamp":1646055648264212,"trace_id":"3985a661e4e1d5a42b149f258a9559a1","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3985a661e4e1d5a4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3985a661e4e1d5a4"}} +{"transaction":{"duration":2.799292,"id":"3985a661e4e1d5a4","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055648264171,"trace_id":"3985a661e4e1d5a42b149f258a9559a1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","search":"limit=100","full":"http://opbeans-go:3000/api/products/6/customers?limit=100"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.344167,"id":"8f855371dade5226","name":"DNS opbeans-node","timestamp":1646055648305614,"trace_id":"4b400b9d70d7c17e345ceb29140cbf8a","type":"external","action":"dns","outcome":"success","parent_id":"accb36ea20206314","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"346912542b05555f"}} +{"span":{"duration":0.125583,"id":"416b5626b84736dd","name":"Connect 172.23.0.10:3000","timestamp":1646055648305963,"trace_id":"4b400b9d70d7c17e345ceb29140cbf8a","type":"external","action":"connect","outcome":"success","parent_id":"accb36ea20206314","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"346912542b05555f"}} +{"span":{"duration":0.263542,"id":"ef5ea5c99bb451b2","name":"DNS opbeans-ruby","timestamp":1646055648335228,"trace_id":"9d9fcfd70650c874742272aef69fff59","type":"external","action":"dns","outcome":"success","parent_id":"9059b1ecfdc930cc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b321a4323d7b40ad"}} +{"span":{"duration":0.147792,"id":"62a45598c59b47e8","name":"Connect 172.23.0.12:3000","timestamp":1646055648335498,"trace_id":"9d9fcfd70650c874742272aef69fff59","type":"external","action":"connect","outcome":"success","parent_id":"9059b1ecfdc930cc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b321a4323d7b40ad"}} +{"span":{"duration":0.429625,"id":"0a7a76635d2435e6","name":"SELECT FROM customers","timestamp":1646055648338817,"trace_id":"4b400b9d70d7c17e345ceb29140cbf8a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c4b99d06ad87e74e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c4b99d06ad87e74e"}} +{"transaction":{"duration":0.590041,"id":"c4b99d06ad87e74e","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055648338800,"trace_id":"4b400b9d70d7c17e345ceb29140cbf8a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/652","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/652"},"headers":{"Connection":"close","Traceparent":"00-4b400b9d70d7c17e345ceb29140cbf8a-5b6bff9d5f48acdf-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-4b400b9d70d7c17e345ceb29140cbf8a-5b6bff9d5f48acdf-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"5b6bff9d5f48acdf","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":49.171708,"id":"26b41a4b47412187","name":"Request","timestamp":1646055648306098,"trace_id":"4b400b9d70d7c17e345ceb29140cbf8a","type":"external","action":"request","outcome":"success","parent_id":"accb36ea20206314","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"346912542b05555f"}} +{"span":{"duration":0.12275,"id":"14fb63ae25df4669","name":"Response","timestamp":1646055648355299,"trace_id":"4b400b9d70d7c17e345ceb29140cbf8a","type":"external","action":"response","outcome":"success","parent_id":"accb36ea20206314","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"346912542b05555f"}} +{"span":{"duration":49.849333,"id":"accb36ea20206314","name":"GET opbeans-node:3000","timestamp":1646055648305573,"trace_id":"4b400b9d70d7c17e345ceb29140cbf8a","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/652","status_code":200}},"outcome":"success","parent_id":"346912542b05555f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"346912542b05555f"}} +{"transaction":{"duration":50.149833,"id":"346912542b05555f","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055648305402,"trace_id":"4b400b9d70d7c17e345ceb29140cbf8a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/652","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/652"},"headers":{"Traceparent":"00-4b400b9d70d7c17e345ceb29140cbf8a-c8509e0e479dbf86-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-4b400b9d70d7c17e345ceb29140cbf8a-c8509e0e479dbf86-01","Connection":"close","User-Agent":"http.rb/5.0.4"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:48 GMT","Content-Length":"188"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c8509e0e479dbf86","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.451167,"id":"1961bba602f61e86","name":"DNS opbeans-node","timestamp":1646055648363774,"trace_id":"9d9fcfd70650c874742272aef69fff59","type":"external","action":"dns","outcome":"success","parent_id":"c3ece61b7b5d6a6d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a975702a07a09384"}} +{"span":{"duration":0.077083,"id":"182fc1984ae93c00","name":"Connect 172.23.0.10:3000","timestamp":1646055648364231,"trace_id":"9d9fcfd70650c874742272aef69fff59","type":"external","action":"connect","outcome":"success","parent_id":"c3ece61b7b5d6a6d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a975702a07a09384"}} +{"span":{"duration":75.75283400000001,"id":"d194ba79492b9a72","name":"Request","timestamp":1646055648292379,"trace_id":"4b400b9d70d7c17e345ceb29140cbf8a","type":"external","action":"request","outcome":"success","parent_id":"0b086077c302fd36","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4b400b9d70d7c17e"}} +{"span":{"duration":0.144958,"id":"a671ff94ad1128ff","name":"Response","timestamp":1646055648368154,"trace_id":"4b400b9d70d7c17e345ceb29140cbf8a","type":"external","action":"response","outcome":"success","parent_id":"0b086077c302fd36","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4b400b9d70d7c17e"}} +{"span":{"duration":76.01058400000001,"id":"0b086077c302fd36","name":"GET opbeans-ruby:3000","timestamp":1646055648292289,"trace_id":"4b400b9d70d7c17e345ceb29140cbf8a","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/652","status_code":200}},"outcome":"success","parent_id":"4b400b9d70d7c17e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4b400b9d70d7c17e"}} +{"transaction":{"duration":76.24083399999999,"id":"4b400b9d70d7c17e","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055648292170,"trace_id":"4b400b9d70d7c17e345ceb29140cbf8a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/652","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/652"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.30225,"id":"1bdd01906741222b","name":"DNS opbeans-python","timestamp":1646055648398072,"trace_id":"9d492a25940f6a13793fa6736f430961","type":"external","action":"dns","outcome":"success","parent_id":"ad0de0657e3aff38","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9d492a25940f6a13"}} +{"span":{"duration":0.174292,"id":"95b4dab3b6270a59","name":"Connect 172.23.0.11:3000","timestamp":1646055648398380,"trace_id":"9d492a25940f6a13793fa6736f430961","type":"external","action":"connect","outcome":"success","parent_id":"ad0de0657e3aff38","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9d492a25940f6a13"}} +{"span":{"duration":1.561875,"id":"4901a8acea821ab7","name":"SELECT FROM customers","timestamp":1646055648468254,"trace_id":"9d492a25940f6a13793fa6736f430961","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"bed215009e9e598b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"bed215009e9e598b"}} +{"transaction":{"duration":2.936792,"id":"bed215009e9e598b","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055648468232,"trace_id":"9d492a25940f6a13793fa6736f430961","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=80","full":"http://opbeans-go:3000/api/products/5/customers?limit=80"},"headers":{"Traceparent":"00-9d492a25940f6a13793fa6736f430961-55dd5b692795b7b4-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-9d492a25940f6a13793fa6736f430961-55dd5b692795b7b4-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"55dd5b692795b7b4","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":107.318625,"id":"92324184f3632945","name":"Request","timestamp":1646055648398567,"trace_id":"9d492a25940f6a13793fa6736f430961","type":"external","action":"request","outcome":"success","parent_id":"ad0de0657e3aff38","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9d492a25940f6a13"}} +{"span":{"duration":8.877792000000001,"id":"80bb0aadaa2a87d3","name":"Response","timestamp":1646055648505911,"trace_id":"9d492a25940f6a13793fa6736f430961","type":"external","action":"response","outcome":"success","parent_id":"ad0de0657e3aff38","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9d492a25940f6a13"}} +{"span":{"duration":116.9185,"id":"ad0de0657e3aff38","name":"GET opbeans-python:3000","timestamp":1646055648398010,"trace_id":"9d492a25940f6a13793fa6736f430961","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/5/customers?limit=80","status_code":200}},"outcome":"success","parent_id":"9d492a25940f6a13","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9d492a25940f6a13"}} +{"transaction":{"duration":117.47645800000001,"id":"9d492a25940f6a13","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055648397752,"trace_id":"9d492a25940f6a13793fa6736f430961","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=80","full":"http://opbeans-go:3000/api/products/5/customers?limit=80"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","Referrer-Policy":"same-origin","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:48 GMT","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Content-Length":"114989"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.615167,"id":"c13ef517632c65bd","name":"SELECT FROM customers","timestamp":1646055648536588,"trace_id":"8a6d0855dcea37efb0825dff66f90670","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8a6d0855dcea37ef","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8a6d0855dcea37ef"}} +{"transaction":{"duration":2.861833,"id":"8a6d0855dcea37ef","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055648536571,"trace_id":"8a6d0855dcea37efb0825dff66f90670","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.554334,"id":"0a46878db955e29f","name":"SELECT FROM product_types","timestamp":1646055648571650,"trace_id":"a8b2f8066f3e8bce10da7e74258396a7","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a8b2f8066f3e8bce","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a8b2f8066f3e8bce"}} +{"transaction":{"duration":0.847333,"id":"a8b2f8066f3e8bce","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055648571629,"trace_id":"a8b2f8066f3e8bce10da7e74258396a7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.86975,"id":"0489e0fe191dc4d2","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055648596580,"trace_id":"0489e0fe191dc4d2e0b3d3683cbb0e9a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.266542,"id":"c197cd4de5e2d189","name":"DNS opbeans-node","timestamp":1646055648695119,"trace_id":"83bc1a68c1368c35ada4beef5136a1f0","type":"external","action":"dns","outcome":"success","parent_id":"86e960c12c221934","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b1689cedde15e492"}} +{"span":{"duration":0.10124999999999999,"id":"91a4ec4076a031d9","name":"Connect 172.23.0.10:3000","timestamp":1646055648695391,"trace_id":"83bc1a68c1368c35ada4beef5136a1f0","type":"external","action":"connect","outcome":"success","parent_id":"86e960c12c221934","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b1689cedde15e492"}} +{"span":{"duration":35.264833,"id":"3def51695cefdf2a","name":"Request","timestamp":1646055648695501,"trace_id":"83bc1a68c1368c35ada4beef5136a1f0","type":"external","action":"request","outcome":"success","parent_id":"86e960c12c221934","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b1689cedde15e492"}} +{"span":{"duration":0.084875,"id":"332f89137b35e51e","name":"Response","timestamp":1646055648730804,"trace_id":"83bc1a68c1368c35ada4beef5136a1f0","type":"external","action":"response","outcome":"success","parent_id":"86e960c12c221934","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b1689cedde15e492"}} +{"span":{"duration":35.826541000000006,"id":"86e960c12c221934","name":"GET opbeans-node:3000","timestamp":1646055648695063,"trace_id":"83bc1a68c1368c35ada4beef5136a1f0","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders/263","status_code":404}},"outcome":"failure","parent_id":"b1689cedde15e492","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b1689cedde15e492"}} +{"transaction":{"duration":36.007042000000006,"id":"b1689cedde15e492","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055648694986,"trace_id":"83bc1a68c1368c35ada4beef5136a1f0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/263","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/263"},"headers":{"Elastic-Apm-Traceparent":"00-83bc1a68c1368c35ada4beef5136a1f0-136457ca0a368a8c-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-83bc1a68c1368c35ada4beef5136a1f0-136457ca0a368a8c-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Powered-By":"Express","Date":"Mon, 28 Feb 2022 13:40:48 GMT","Content-Length":"0"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"136457ca0a368a8c","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":3.355791,"id":"4efb6efaa15140b3","name":"SELECT FROM orders","timestamp":1646055650141775,"trace_id":"295a48ffc01749a5a80997ae6d9dcf4f","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b925b14362d2e9ba","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b925b14362d2e9ba"}} +{"transaction":{"duration":6.049125,"id":"b925b14362d2e9ba","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055650141714,"trace_id":"295a48ffc01749a5a80997ae6d9dcf4f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Traceparent":"00-295a48ffc01749a5a80997ae6d9dcf4f-42823e874866895d-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-295a48ffc01749a5a80997ae6d9dcf4f-42823e874866895d-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"42823e874866895d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":42.427667,"id":"d938cdd65a63e4b7","name":"Request","timestamp":1646055650681366,"trace_id":"02c4019da976a9f2252325916e4bcb41","type":"external","action":"request","outcome":"success","parent_id":"f819d3691861ab88","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"74d58d272539ee5b"}} +{"span":{"duration":0.14275,"id":"a4b4786936fcf7e0","name":"Response","timestamp":1646055650723817,"trace_id":"02c4019da976a9f2252325916e4bcb41","type":"external","action":"response","outcome":"success","parent_id":"f819d3691861ab88","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"74d58d272539ee5b"}} +{"span":{"duration":42.622125,"id":"f819d3691861ab88","name":"GET opbeans-node:3000","timestamp":1646055650681339,"trace_id":"02c4019da976a9f2252325916e4bcb41","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products","status_code":200}},"outcome":"success","parent_id":"74d58d272539ee5b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"74d58d272539ee5b"}} +{"transaction":{"duration":42.798415999999996,"id":"74d58d272539ee5b","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055650681266,"trace_id":"02c4019da976a9f2252325916e4bcb41","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Traceparent":"00-02c4019da976a9f2252325916e4bcb41-64c927a17dce8676-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-02c4019da976a9f2252325916e4bcb41-64c927a17dce8676-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"1023","Etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","Date":"Mon, 28 Feb 2022 13:40:50 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"64c927a17dce8676","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.858083,"id":"3020a69fa4839e58","name":"SELECT FROM orders","timestamp":1646055651132681,"trace_id":"f0a9c0557e739039262e452603dd0694","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"bf27f3ff5b8836f8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"bf27f3ff5b8836f8"}} +{"transaction":{"duration":2.599291,"id":"bf27f3ff5b8836f8","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055651132664,"trace_id":"f0a9c0557e739039262e452603dd0694","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Connection":"close","Traceparent":"00-f0a9c0557e739039262e452603dd0694-017212fc01dc0677-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-f0a9c0557e739039262e452603dd0694-017212fc01dc0677-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"017212fc01dc0677","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.6355,"id":"69c1eddc0830a740","name":"SELECT FROM products","timestamp":1646055651351687,"trace_id":"4f94c26dc957e7f52b565b364df6f0cf","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"11f6ca2cc13a4ea9","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"11f6ca2cc13a4ea9"}} +{"transaction":{"duration":1.804541,"id":"11f6ca2cc13a4ea9","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055651351664,"trace_id":"4f94c26dc957e7f52b565b364df6f0cf","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-4f94c26dc957e7f52b565b364df6f0cf-92a3c27381cd4b6f-01","Elastic-Apm-Traceparent":"00-4f94c26dc957e7f52b565b364df6f0cf-92a3c27381cd4b6f-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"92a3c27381cd4b6f","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.6443329999999999,"id":"52f0c85cc8c37be3","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055651459684,"trace_id":"179fa11706685b54f121f16105133ef4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-179fa11706685b54f121f16105133ef4-9bc8928afaf9b8a1-01","Elastic-Apm-Traceparent":"00-179fa11706685b54f121f16105133ef4-9bc8928afaf9b8a1-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"9bc8928afaf9b8a1","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":6402.638128,"id":"930e1587ad0a2c2c","name":"Request","timestamp":1646055648364330,"trace_id":"9d9fcfd70650c874742272aef69fff59","type":"external","action":"request","outcome":"success","parent_id":"c3ece61b7b5d6a6d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a975702a07a09384"}} +{"span":{"duration":5.919417,"id":"a2bbe924364cd8c7","name":"Response","timestamp":1646055654767132,"trace_id":"9d9fcfd70650c874742272aef69fff59","type":"external","action":"response","outcome":"success","parent_id":"c3ece61b7b5d6a6d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a975702a07a09384"}} +{"span":{"duration":6409.4011279999995,"id":"c3ece61b7b5d6a6d","name":"GET opbeans-node:3000","timestamp":1646055648363734,"trace_id":"9d9fcfd70650c874742272aef69fff59","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"a975702a07a09384","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a975702a07a09384"}} +{"transaction":{"duration":6409.747878,"id":"a975702a07a09384","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055648363635,"trace_id":"9d9fcfd70650c874742272aef69fff59","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-9d9fcfd70650c874742272aef69fff59-f417b443e30c626d-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-9d9fcfd70650c874742272aef69fff59-f417b443e30c626d-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Powered-By":"Express","X-Frame-Options":"DENY","Content-Length":"108580","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Vary":"Cookie","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:54 GMT","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f417b443e30c626d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":6453.005461,"id":"49be1044f6db7723","name":"Request","timestamp":1646055648335656,"trace_id":"9d9fcfd70650c874742272aef69fff59","type":"external","action":"request","outcome":"success","parent_id":"9059b1ecfdc930cc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b321a4323d7b40ad"}} +{"span":{"duration":16.857833,"id":"fe15c6f739a7a116","name":"Response","timestamp":1646055654788703,"trace_id":"9d9fcfd70650c874742272aef69fff59","type":"external","action":"response","outcome":"success","parent_id":"9059b1ecfdc930cc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b321a4323d7b40ad"}} +{"span":{"duration":6470.457878,"id":"9059b1ecfdc930cc","name":"GET opbeans-ruby:3000","timestamp":1646055648335189,"trace_id":"9d9fcfd70650c874742272aef69fff59","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"b321a4323d7b40ad","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b321a4323d7b40ad"}} +{"transaction":{"duration":6471.557669,"id":"b321a4323d7b40ad","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055648334744,"trace_id":"9d9fcfd70650c874742272aef69fff59","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-9d9fcfd70650c874742272aef69fff59-23fce1abdff97136-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-9d9fcfd70650c874742272aef69fff59-23fce1abdff97136-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"23fce1abdff97136","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.528583,"id":"699cad3faa09ec5a","name":"SELECT FROM product_types","timestamp":1646055654939500,"trace_id":"f1bff0fd64a887f44a05c70e20bdbee1","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ba11ad326ca62c6d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ba11ad326ca62c6d"}} +{"transaction":{"duration":0.707208,"id":"ba11ad326ca62c6d","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055654939470,"trace_id":"f1bff0fd64a887f44a05c70e20bdbee1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-f1bff0fd64a887f44a05c70e20bdbee1-6ca530d55be90d08-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-f1bff0fd64a887f44a05c70e20bdbee1-6ca530d55be90d08-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6ca530d55be90d08","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":6327.652169,"id":"b3b35c338021f9a9","name":"Request","timestamp":1646055648627135,"trace_id":"0f23bd4aa64d31ce38c9f876149e9d36","type":"external","action":"request","outcome":"success","parent_id":"5251d72bab9dee35","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0f23bd4aa64d31ce"}} +{"span":{"duration":6.375541999999999,"id":"44b83fc7076c7f6a","name":"Response","timestamp":1646055654954809,"trace_id":"0f23bd4aa64d31ce38c9f876149e9d36","type":"external","action":"response","outcome":"success","parent_id":"5251d72bab9dee35","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0f23bd4aa64d31ce"}} +{"span":{"duration":6334.176295,"id":"5251d72bab9dee35","name":"GET opbeans-ruby:3000","timestamp":1646055648627054,"trace_id":"0f23bd4aa64d31ce38c9f876149e9d36","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"0f23bd4aa64d31ce","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0f23bd4aa64d31ce"}} +{"transaction":{"duration":6334.573920000001,"id":"0f23bd4aa64d31ce","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055648626764,"trace_id":"0f23bd4aa64d31ce38c9f876149e9d36","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.6087919999999998,"id":"353ee277fb4e9f39","name":"SELECT FROM products","timestamp":1646055654990497,"trace_id":"dfa8359b66727fe646ed165bad50fa80","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"dfa8359b66727fe6","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"dfa8359b66727fe6"}} +{"transaction":{"duration":2.999959,"id":"dfa8359b66727fe6","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055654990480,"trace_id":"dfa8359b66727fe646ed165bad50fa80","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.516041,"id":"2dbcaff33d453116","name":"DNS opbeans-python","timestamp":1646055655033127,"trace_id":"ada524ace1e601a9a4f17e63c86ac252","type":"external","action":"dns","outcome":"success","parent_id":"46e7961320a89d15","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ada524ace1e601a9"}} +{"span":{"duration":0.311208,"id":"0898b61b951fbfd6","name":"Connect 172.23.0.11:3000","timestamp":1646055655033648,"trace_id":"ada524ace1e601a9a4f17e63c86ac252","type":"external","action":"connect","outcome":"success","parent_id":"46e7961320a89d15","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ada524ace1e601a9"}} +{"span":{"duration":38.096417,"id":"1b29fc5dd78bf914","name":"Request","timestamp":1646055655033981,"trace_id":"ada524ace1e601a9a4f17e63c86ac252","type":"external","action":"request","outcome":"success","parent_id":"46e7961320a89d15","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ada524ace1e601a9"}} +{"span":{"duration":8.836333,"id":"d9861957667edf63","name":"Response","timestamp":1646055655072106,"trace_id":"ada524ace1e601a9a4f17e63c86ac252","type":"external","action":"response","outcome":"success","parent_id":"46e7961320a89d15","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ada524ace1e601a9"}} +{"span":{"duration":48.012040999999996,"id":"46e7961320a89d15","name":"GET opbeans-python:3000","timestamp":1646055655033005,"trace_id":"ada524ace1e601a9a4f17e63c86ac252","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"ada524ace1e601a9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ada524ace1e601a9"}} +{"transaction":{"duration":48.356584,"id":"ada524ace1e601a9","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055655032776,"trace_id":"ada524ace1e601a9a4f17e63c86ac252","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:55 GMT","Content-Type":"application/json","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","X-Frame-Options":"DENY","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.49850000000000005,"id":"6473447b7993ce28","name":"DNS opbeans-python","timestamp":1646055655151114,"trace_id":"979e5913352083bf4d870bf4546dfff9","type":"external","action":"dns","outcome":"success","parent_id":"26fadb40e4aa7523","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"76677a50b7da6a61"}} +{"span":{"duration":0.156959,"id":"b118e5b464303a5a","name":"Connect 172.23.0.11:3000","timestamp":1646055655151635,"trace_id":"979e5913352083bf4d870bf4546dfff9","type":"external","action":"connect","outcome":"success","parent_id":"26fadb40e4aa7523","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"76677a50b7da6a61"}} +{"span":{"duration":47.586709,"id":"e5a70215a366dd69","name":"Request","timestamp":1646055655151807,"trace_id":"979e5913352083bf4d870bf4546dfff9","type":"external","action":"request","outcome":"success","parent_id":"26fadb40e4aa7523","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"76677a50b7da6a61"}} +{"span":{"duration":0.196583,"id":"1617c677efddd6ec","name":"Response","timestamp":1646055655199417,"trace_id":"979e5913352083bf4d870bf4546dfff9","type":"external","action":"response","outcome":"success","parent_id":"26fadb40e4aa7523","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"76677a50b7da6a61"}} +{"span":{"duration":48.551333,"id":"26fadb40e4aa7523","name":"GET opbeans-python:3000","timestamp":1646055655151063,"trace_id":"979e5913352083bf4d870bf4546dfff9","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers/102","status_code":200}},"outcome":"success","parent_id":"76677a50b7da6a61","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"76677a50b7da6a61"}} +{"transaction":{"duration":48.743333,"id":"76677a50b7da6a61","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055655150977,"trace_id":"979e5913352083bf4d870bf4546dfff9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/102","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/102"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-979e5913352083bf4d870bf4546dfff9-d035af1d0922d2ec-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-979e5913352083bf4d870bf4546dfff9-d035af1d0922d2ec-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Frame-Options":"DENY","Referrer-Policy":"same-origin","Content-Type":"application/json","Content-Length":"203","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:40:55 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d035af1d0922d2ec","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":108.643375,"id":"c339000cf102b149","name":"Request","timestamp":1646055655111526,"trace_id":"979e5913352083bf4d870bf4546dfff9","type":"external","action":"request","outcome":"success","parent_id":"415ffa0d8ce217d2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"979e5913352083bf"}} +{"span":{"duration":0.196625,"id":"0662f7aa5ac99271","name":"Response","timestamp":1646055655220197,"trace_id":"979e5913352083bf4d870bf4546dfff9","type":"external","action":"response","outcome":"success","parent_id":"415ffa0d8ce217d2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"979e5913352083bf"}} +{"span":{"duration":109.191917,"id":"415ffa0d8ce217d2","name":"GET opbeans-ruby:3000","timestamp":1646055655111202,"trace_id":"979e5913352083bf4d870bf4546dfff9","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/102","status_code":200}},"outcome":"success","parent_id":"979e5913352083bf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"979e5913352083bf"}} +{"transaction":{"duration":110.57875,"id":"979e5913352083bf","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055655110104,"trace_id":"979e5913352083bf4d870bf4546dfff9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/102","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/102"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.770083,"id":"89793ee312708cc7","name":"SELECT FROM orders","timestamp":1646055655442227,"trace_id":"f850359c10b94edf38f7db0c6395c61c","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f850359c10b94edf","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f850359c10b94edf"}} +{"transaction":{"duration":3.412042,"id":"f850359c10b94edf","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055655442202,"trace_id":"f850359c10b94edf38f7db0c6395c61c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":8.655958,"id":"68507d234a93df0c","name":"SELECT FROM orders","timestamp":1646055655442332,"trace_id":"05351a1089f34980274ac16810ff57f6","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3c354c899b72da47","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"conn.go","lineno":119,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).finishSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"conn.go","lineno":139,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmsql/v2@v2.0.0-20220125052152-dbce0fc5646c/conn.go","function":"(*conn).QueryContext","library_frame":true,"module":"go.elastic.co/apm/module/apmsql/v2"},{"filename":"ctxutil.go","lineno":48,"abs_path":"/usr/local/go/src/database/sql/ctxutil.go","function":"ctxDriverQuery","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1722,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC.func1","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":3396,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"withLock","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1717,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).queryDC","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1700,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).query","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1674,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).QueryContext","library_frame":true,"module":"database/sql"},{"filename":"sql.go","lineno":1778,"abs_path":"/usr/local/go/src/database/sql/sql.go","function":"(*DB).QueryRowContext","library_frame":true,"module":"database/sql"},{"filename":"orders.go","lineno":59,"abs_path":"/src/opbeans-go/orders.go","function":"getOrder","module":"main"},{"filename":"api.go","lineno":226,"abs_path":"/src/opbeans-go/api.go","function":"apiHandlers.getOrderDetails","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":200,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"postgresql","transaction_id":"3c354c899b72da47"}} +{"span":{"duration":3.448333,"id":"f85a0a5cee944f51","name":"SELECT FROM products","timestamp":1646055655451499,"trace_id":"05351a1089f34980274ac16810ff57f6","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3c354c899b72da47","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3c354c899b72da47"}} +{"transaction":{"duration":12.952958,"id":"3c354c899b72da47","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055655442321,"trace_id":"05351a1089f34980274ac16810ff57f6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/112","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/112"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-05351a1089f34980274ac16810ff57f6-d676952a4fdaf4f2-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-05351a1089f34980274ac16810ff57f6-d676952a4fdaf4f2-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d676952a4fdaf4f2","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":256.464792,"id":"73c1391fa125bde4","name":"Request","timestamp":1646055655241220,"trace_id":"61ac27690a3c4173e2650c5a09082097","type":"external","action":"request","outcome":"success","parent_id":"9a808acdf93e1562","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"61ac27690a3c4173"}} +{"span":{"duration":0.28829099999999996,"id":"a5dfab007e39ef3b","name":"Response","timestamp":1646055655497760,"trace_id":"61ac27690a3c4173e2650c5a09082097","type":"external","action":"response","outcome":"success","parent_id":"9a808acdf93e1562","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"61ac27690a3c4173"}} +{"span":{"duration":256.99508399999996,"id":"9a808acdf93e1562","name":"GET opbeans-ruby:3000","timestamp":1646055655241055,"trace_id":"61ac27690a3c4173e2650c5a09082097","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/4","status_code":200}},"outcome":"success","parent_id":"61ac27690a3c4173","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"61ac27690a3c4173"}} +{"transaction":{"duration":257.244708,"id":"61ac27690a3c4173","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055655240986,"trace_id":"61ac27690a3c4173e2650c5a09082097","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.4906249999999996,"id":"6dfb7d330c8f3352","name":"SELECT FROM products","timestamp":1646055655522467,"trace_id":"f14626001953b5329ae2afee62390e15","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f14626001953b532","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f14626001953b532"}} +{"transaction":{"duration":2.653917,"id":"f14626001953b532","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055655522438,"trace_id":"f14626001953b5329ae2afee62390e15","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.429042,"id":"7835b08a8bfcf005","name":"SELECT FROM product_types","timestamp":1646055655552142,"trace_id":"b5ff421e51da65a89f0528ee26a17c05","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b5ff421e51da65a8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b5ff421e51da65a8"}} +{"transaction":{"duration":0.96325,"id":"b5ff421e51da65a8","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055655552113,"trace_id":"b5ff421e51da65a89f0528ee26a17c05","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.560792,"id":"189a3f0a9abeb937","name":"SELECT FROM products","timestamp":1646055655580765,"trace_id":"360d88778e8d6c104dd01a736bc46d84","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"360d88778e8d6c10","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"360d88778e8d6c10"}} +{"transaction":{"duration":0.785667,"id":"360d88778e8d6c10","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055655580742,"trace_id":"360d88778e8d6c104dd01a736bc46d84","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.44133300000000003,"id":"b2ca51f851b6b248","name":"SELECT FROM customers","timestamp":1646055655605964,"trace_id":"acd09ae41777929ac3b50c8a9ced31ba","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"acd09ae41777929a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"acd09ae41777929a"}} +{"transaction":{"duration":0.707542,"id":"acd09ae41777929a","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055655605797,"trace_id":"acd09ae41777929ac3b50c8a9ced31ba","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/278","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/278"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.380709,"id":"3609fee8676d8357","name":"SELECT FROM product_types","timestamp":1646055655628646,"trace_id":"c57c19c259069d08031fa1c074980d79","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c57c19c259069d08","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c57c19c259069d08"}} +{"transaction":{"duration":0.48033400000000004,"id":"c57c19c259069d08","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055655628629,"trace_id":"c57c19c259069d08031fa1c074980d79","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.46775,"id":"115bc5da99225683","name":"SELECT FROM orders","timestamp":1646055655648186,"trace_id":"3b7a0bfe8ff844ad1caacc54ac0eaa1a","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0b0e48f388b33e70","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0b0e48f388b33e70"}} +{"transaction":{"duration":2.619084,"id":"0b0e48f388b33e70","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055655648176,"trace_id":"3b7a0bfe8ff844ad1caacc54ac0eaa1a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-3b7a0bfe8ff844ad1caacc54ac0eaa1a-211a7061675cb634-01","Traceparent":"00-3b7a0bfe8ff844ad1caacc54ac0eaa1a-211a7061675cb634-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"211a7061675cb634","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.8445,"id":"bf9d8c744faf9287","name":"Request","timestamp":1646055655648079,"trace_id":"3b7a0bfe8ff844ad1caacc54ac0eaa1a","type":"external","action":"request","outcome":"success","parent_id":"211a7061675cb634","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3b7a0bfe8ff844ad"}} +{"span":{"duration":0.155709,"id":"8374a688e8999565","name":"Response","timestamp":1646055655650926,"trace_id":"3b7a0bfe8ff844ad1caacc54ac0eaa1a","type":"external","action":"response","outcome":"success","parent_id":"211a7061675cb634","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3b7a0bfe8ff844ad"}} +{"span":{"duration":3.0231250000000003,"id":"211a7061675cb634","name":"GET opbeans-go:3000","timestamp":1646055655648059,"trace_id":"3b7a0bfe8ff844ad1caacc54ac0eaa1a","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"3b7a0bfe8ff844ad","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"3b7a0bfe8ff844ad"}} +{"transaction":{"duration":3.1320829999999997,"id":"3b7a0bfe8ff844ad","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055655647980,"trace_id":"3b7a0bfe8ff844ad1caacc54ac0eaa1a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:55 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.7073749999999999,"id":"a521f0dddd3e4830","name":"SELECT FROM customers","timestamp":1646055655676702,"trace_id":"0ddcf6445a0143fefd9e1ae6ea06d443","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0ddcf6445a0143fe","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0ddcf6445a0143fe"}} +{"transaction":{"duration":13.412042000000001,"id":"0ddcf6445a0143fe","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055655676671,"trace_id":"0ddcf6445a0143fefd9e1ae6ea06d443","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.214,"id":"466613f8cf94ef04","name":"SELECT FROM customers","timestamp":1646055655718601,"trace_id":"a233b6b0f2c689ea5cd7d3a8f6456e21","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a233b6b0f2c689ea","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a233b6b0f2c689ea"}} +{"transaction":{"duration":4.935833,"id":"a233b6b0f2c689ea","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055655718576,"trace_id":"a233b6b0f2c689ea5cd7d3a8f6456e21","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.47341700000000003,"id":"19e4fbb9cdb4190d","name":"SELECT FROM products","timestamp":1646055655742552,"trace_id":"e86eedc5043a07208ebfb1f6bc492648","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e86eedc5043a0720","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e86eedc5043a0720"}} +{"transaction":{"duration":0.623333,"id":"e86eedc5043a0720","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055655742523,"trace_id":"e86eedc5043a07208ebfb1f6bc492648","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.465084,"id":"da309283ac5c5cf2","name":"DNS opbeans-node","timestamp":1646055655761762,"trace_id":"6d289f37bd7cbf6024ade2cdf27d2d4f","type":"external","action":"dns","outcome":"success","parent_id":"1f415d472e3cefa7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6d289f37bd7cbf60"}} +{"span":{"duration":0.10804200000000001,"id":"71073d3ee3b5e242","name":"Connect 172.23.0.10:3000","timestamp":1646055655762233,"trace_id":"6d289f37bd7cbf6024ade2cdf27d2d4f","type":"external","action":"connect","outcome":"success","parent_id":"1f415d472e3cefa7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6d289f37bd7cbf60"}} +{"span":{"duration":72.999709,"id":"2cde01920117ae4a","name":"Request","timestamp":1646055655762351,"trace_id":"6d289f37bd7cbf6024ade2cdf27d2d4f","type":"external","action":"request","outcome":"success","parent_id":"1f415d472e3cefa7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6d289f37bd7cbf60"}} +{"span":{"duration":0.056458,"id":"06350efcc3beb707","name":"Response","timestamp":1646055655835379,"trace_id":"6d289f37bd7cbf6024ade2cdf27d2d4f","type":"external","action":"response","outcome":"success","parent_id":"1f415d472e3cefa7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6d289f37bd7cbf60"}} +{"span":{"duration":73.71975,"id":"1f415d472e3cefa7","name":"GET opbeans-node:3000","timestamp":1646055655761717,"trace_id":"6d289f37bd7cbf6024ade2cdf27d2d4f","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"6d289f37bd7cbf60","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6d289f37bd7cbf60"}} +{"transaction":{"duration":73.921542,"id":"6d289f37bd7cbf60","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055655761617,"trace_id":"6d289f37bd7cbf6024ade2cdf27d2d4f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"242","Etag":"W/\"f2-TrZrMcMTUtdW6GY8TQq8W/JG3iU\"","Date":"Mon, 28 Feb 2022 13:40:55 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.263208,"id":"2ff669f227951947","name":"DNS opbeans-go","timestamp":1646055655854227,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"external","action":"dns","outcome":"success","parent_id":"9a653cff7b4bbfb8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a50116df98086014"}} +{"span":{"duration":0.087334,"id":"0cbb3a1a00280c85","name":"Connect 172.23.0.9:3000","timestamp":1646055655854494,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"external","action":"connect","outcome":"success","parent_id":"9a653cff7b4bbfb8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a50116df98086014"}} +{"span":{"duration":0.436833,"id":"2465b25d1c8cc164","name":"SELECT FROM products","timestamp":1646055655903802,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0642c4dd9d1ca16e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0642c4dd9d1ca16e"}} +{"transaction":{"duration":0.692333,"id":"0642c4dd9d1ca16e","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055655903708,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-298f65eb58f20b128ce8954b038048a5-e8ab40c2e6acbe95-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-298f65eb58f20b128ce8954b038048a5-e8ab40c2e6acbe95-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e8ab40c2e6acbe95","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":61.3145,"id":"74c2a4ce9defc826","name":"Request","timestamp":1646055655854692,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"external","action":"request","outcome":"success","parent_id":"02c7b4b776682d8a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"edc711e9abcac8f6"}} +{"span":{"duration":61.555625000000006,"id":"90133e13091d2566","name":"Request","timestamp":1646055655854590,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"external","action":"request","outcome":"success","parent_id":"9a653cff7b4bbfb8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a50116df98086014"}} +{"span":{"duration":0.174625,"id":"19f2103cc4b10377","name":"Response","timestamp":1646055655916032,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"external","action":"response","outcome":"success","parent_id":"02c7b4b776682d8a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"edc711e9abcac8f6"}} +{"span":{"duration":61.523833,"id":"02c7b4b776682d8a","name":"GET opbeans-ruby:3000","timestamp":1646055655854683,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products","status_code":200}},"outcome":"success","parent_id":"edc711e9abcac8f6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"edc711e9abcac8f6"}} +{"transaction":{"duration":61.666667000000004,"id":"edc711e9abcac8f6","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055655854659,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Elastic-Apm-Traceparent":"00-298f65eb58f20b128ce8954b038048a5-9a653cff7b4bbfb8-01","Traceparent":"00-298f65eb58f20b128ce8954b038048a5-9a653cff7b4bbfb8-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14, 172.23.0.9","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"9a653cff7b4bbfb8","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.280667,"id":"65440ade660b10c4","name":"Response","timestamp":1646055655916149,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"external","action":"response","outcome":"success","parent_id":"9a653cff7b4bbfb8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a50116df98086014"}} +{"span":{"duration":62.2555,"id":"9a653cff7b4bbfb8","name":"GET opbeans-go:3000","timestamp":1646055655854175,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products","status_code":200}},"outcome":"success","parent_id":"a50116df98086014","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a50116df98086014"}} +{"transaction":{"duration":62.493624999999994,"id":"a50116df98086014","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055655854082,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-298f65eb58f20b128ce8954b038048a5-45855e8ce8864125-01","Traceparent":"00-298f65eb58f20b128ce8954b038048a5-45855e8ce8864125-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:40:55 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"45855e8ce8864125","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":63.56395800000001,"id":"7e3f1a97dfd698ed","name":"Request","timestamp":1646055655853529,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"external","action":"request","outcome":"success","parent_id":"45855e8ce8864125","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"298f65eb58f20b12"}} +{"span":{"duration":0.119917,"id":"81837ebb057b216e","name":"Response","timestamp":1646055655917101,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"external","action":"response","outcome":"success","parent_id":"45855e8ce8864125","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"298f65eb58f20b12"}} +{"span":{"duration":63.711458,"id":"45855e8ce8864125","name":"GET opbeans-go:3000","timestamp":1646055655853510,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products","status_code":200}},"outcome":"success","parent_id":"298f65eb58f20b12","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"298f65eb58f20b12"}} +{"transaction":{"duration":65.851166,"id":"298f65eb58f20b12","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055655853451,"trace_id":"298f65eb58f20b128ce8954b038048a5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:40:55 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.2165,"id":"dddcedae6ce5e699","name":"SELECT FROM product_types","timestamp":1646055655940425,"trace_id":"8bde1d104321adf489be40b9696e02b3","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8bde1d104321adf4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8bde1d104321adf4"}} +{"transaction":{"duration":0.369625,"id":"8bde1d104321adf4","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055655940410,"trace_id":"8bde1d104321adf489be40b9696e02b3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.677042,"id":"d747363cc9c82cbf","name":"SELECT FROM customers","timestamp":1646055655963278,"trace_id":"57a46ece56b11eb70820a2390dad59d5","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"57a46ece56b11eb7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"57a46ece56b11eb7"}} +{"span":{"duration":0.07566700000000001,"id":"ad0209aa65ad7df9","name":"INSERT INTO order_lines","timestamp":1646055655964177,"trace_id":"57a46ece56b11eb70820a2390dad59d5","type":"db","action":"prepare","context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"57a46ece56b11eb7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"57a46ece56b11eb7"}} +{"span":{"duration":0.435917,"id":"cb612960b8ba1d9c","name":"INSERT INTO orders","timestamp":1646055655964257,"trace_id":"57a46ece56b11eb70820a2390dad59d5","type":"db","action":"query","context":{"db":{"statement":"INSERT INTO orders (customer_id) VALUES ($1) RETURNING id","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"57a46ece56b11eb7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"57a46ece56b11eb7"}} +{"span":{"duration":1.224042,"id":"212226c117875dfc","name":"INSERT INTO order_lines","timestamp":1646055655964706,"trace_id":"57a46ece56b11eb70820a2390dad59d5","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"57a46ece56b11eb7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"57a46ece56b11eb7"}} +{"span":{"duration":0.08966600000000001,"id":"d2b8efcf0bda6a92","name":"INSERT INTO order_lines","timestamp":1646055655965939,"trace_id":"57a46ece56b11eb70820a2390dad59d5","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"57a46ece56b11eb7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"57a46ece56b11eb7"}} +{"span":{"duration":0.07150000000000001,"id":"710d5fc4cfefff13","name":"INSERT INTO order_lines","timestamp":1646055655966032,"trace_id":"57a46ece56b11eb70820a2390dad59d5","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"57a46ece56b11eb7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"57a46ece56b11eb7"}} +{"span":{"duration":0.052917,"id":"6774d2616399026c","name":"INSERT INTO order_lines","timestamp":1646055655966105,"trace_id":"57a46ece56b11eb70820a2390dad59d5","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"57a46ece56b11eb7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"57a46ece56b11eb7"}} +{"transaction":{"duration":4.914125,"id":"57a46ece56b11eb7","name":"POST /api/orders/csv","span_count":{"dropped":0,"started":7},"timestamp":1646055655962374,"trace_id":"57a46ece56b11eb70820a2390dad59d5","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders/csv","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/csv"},"headers":{"Content-Length":"384","Content-Type":"multipart/form-data; boundary=f13a95e7bf5544b08e150358b57948c2","Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"customer_name":"Daniel Cunningham","customer_email":"dcunninghamrj@themeforest.net"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.218667,"id":"ad1af9bd2efdd32a","name":"DNS opbeans-python","timestamp":1646055655990171,"trace_id":"88639a68a3a8d20d6f488fc1a807a288","type":"external","action":"dns","outcome":"success","parent_id":"4353b99745b663ea","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"88639a68a3a8d20d"}} +{"span":{"duration":0.08625,"id":"df2f261759cd7b03","name":"Connect 172.23.0.11:3000","timestamp":1646055655990394,"trace_id":"88639a68a3a8d20d6f488fc1a807a288","type":"external","action":"connect","outcome":"success","parent_id":"4353b99745b663ea","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"88639a68a3a8d20d"}} +{"transaction":{"duration":0.551292,"id":"123a134f69d69dbc","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055656012416,"trace_id":"7d8d2d168b01715ad01564a41a264e9d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Traceparent":"00-7d8d2d168b01715ad01564a41a264e9d-f45b4d327d4cf4c8-01","Elastic-Apm-Traceparent":"00-7d8d2d168b01715ad01564a41a264e9d-f45b4d327d4cf4c8-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"f45b4d327d4cf4c8","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":23.213458,"id":"461ec79ed7eef7b3","name":"Request","timestamp":1646055655990489,"trace_id":"88639a68a3a8d20d6f488fc1a807a288","type":"external","action":"request","outcome":"success","parent_id":"4353b99745b663ea","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"88639a68a3a8d20d"}} +{"span":{"duration":0.27391699999999997,"id":"d6b4e296be5e75fd","name":"Response","timestamp":1646055656013719,"trace_id":"88639a68a3a8d20d6f488fc1a807a288","type":"external","action":"response","outcome":"success","parent_id":"4353b99745b663ea","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"88639a68a3a8d20d"}} +{"span":{"duration":23.902625,"id":"4353b99745b663ea","name":"GET opbeans-python:3000","timestamp":1646055655990091,"trace_id":"88639a68a3a8d20d6f488fc1a807a288","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types/1","status_code":200}},"outcome":"success","parent_id":"88639a68a3a8d20d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"88639a68a3a8d20d"}} +{"transaction":{"duration":24.173125,"id":"88639a68a3a8d20d","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055655989912,"trace_id":"88639a68a3a8d20d6f488fc1a807a288","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","X-Frame-Options":"DENY","Content-Length":"233","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:40:56 GMT","Content-Type":"application/json","Vary":"Cookie","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.410042,"id":"577e254ae230b7df","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055656079289,"trace_id":"362f7943c12e2dba7c94a7aae7d86a13","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-362f7943c12e2dba7c94a7aae7d86a13-0e5d25b47f2f8739-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-362f7943c12e2dba7c94a7aae7d86a13-0e5d25b47f2f8739-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"0e5d25b47f2f8739","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.34991599999999995,"id":"cd250a79e32ad368","name":"DNS opbeans-python","timestamp":1646055657639268,"trace_id":"fbd26c502daba0c49d01089fc2040701","type":"external","action":"dns","outcome":"success","parent_id":"476c28082dd336d5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"11619d152ffc27eb"}} +{"span":{"duration":0.14975,"id":"5fe9094cab68da32","name":"Connect 172.23.0.11:3000","timestamp":1646055657639622,"trace_id":"fbd26c502daba0c49d01089fc2040701","type":"external","action":"connect","outcome":"success","parent_id":"476c28082dd336d5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"11619d152ffc27eb"}} +{"span":{"duration":70.818125,"id":"73b2b1355d5d4d39","name":"Request","timestamp":1646055657639790,"trace_id":"fbd26c502daba0c49d01089fc2040701","type":"external","action":"request","outcome":"success","parent_id":"476c28082dd336d5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"11619d152ffc27eb"}} +{"span":{"duration":7.135791,"id":"9a1f16cba19a867c","name":"Response","timestamp":1646055657711221,"trace_id":"fbd26c502daba0c49d01089fc2040701","type":"external","action":"response","outcome":"success","parent_id":"476c28082dd336d5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"11619d152ffc27eb"}} +{"span":{"duration":79.2675,"id":"476c28082dd336d5","name":"GET opbeans-python:3000","timestamp":1646055657639150,"trace_id":"fbd26c502daba0c49d01089fc2040701","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"11619d152ffc27eb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"11619d152ffc27eb"}} +{"transaction":{"duration":79.68779199999999,"id":"11619d152ffc27eb","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055657638949,"trace_id":"fbd26c502daba0c49d01089fc2040701","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Connection":"close","Traceparent":"00-fbd26c502daba0c49d01089fc2040701-2abb1587060177c1-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-fbd26c502daba0c49d01089fc2040701-2abb1587060177c1-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Frame-Options":"DENY","Vary":"Cookie","Server":"gunicorn","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Content-Length":"203686","Date":"Mon, 28 Feb 2022 13:40:57 GMT","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"2abb1587060177c1","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.959708,"id":"4c18c935a229dcf5","name":"SELECT FROM orders","timestamp":1646055659151109,"trace_id":"57758dd8f952471696352c780d92ba88","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6ad588e555d90c40","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6ad588e555d90c40"}} +{"transaction":{"duration":3.184542,"id":"6ad588e555d90c40","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055659151020,"trace_id":"57758dd8f952471696352c780d92ba88","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Connection":"close","Traceparent":"00-57758dd8f952471696352c780d92ba88-870793581fb2437c-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-57758dd8f952471696352c780d92ba88-870793581fb2437c-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"870793581fb2437c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5654170000000001,"id":"a52643d1e3647fe5","name":"SELECT FROM product_types","timestamp":1646055659608680,"trace_id":"d695d0716e508eb0b3090330360f4564","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"415df1f4654eeec7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"415df1f4654eeec7"}} +{"transaction":{"duration":0.722917,"id":"415df1f4654eeec7","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055659608650,"trace_id":"d695d0716e508eb0b3090330360f4564","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-d695d0716e508eb0b3090330360f4564-47284a84ba1e1fbd-01","Elastic-Apm-Traceparent":"00-d695d0716e508eb0b3090330360f4564-47284a84ba1e1fbd-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"47284a84ba1e1fbd","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":5808.269086,"id":"8e31ed57cd02eb45","name":"Request","timestamp":1646055656033168,"trace_id":"e63573b296508926c415ab6079ec95b4","type":"external","action":"request","outcome":"success","parent_id":"90341138bdcf03a2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e63573b296508926"}} +{"span":{"duration":5.648459,"id":"72e27a955016b3d8","name":"Response","timestamp":1646055661841577,"trace_id":"e63573b296508926c415ab6079ec95b4","type":"external","action":"response","outcome":"success","parent_id":"90341138bdcf03a2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e63573b296508926"}} +{"span":{"duration":5814.2421269999995,"id":"90341138bdcf03a2","name":"GET opbeans-node:3000","timestamp":1646055656033100,"trace_id":"e63573b296508926c415ab6079ec95b4","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"e63573b296508926","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e63573b296508926"}} +{"transaction":{"duration":5814.664211,"id":"e63573b296508926","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055656032857,"trace_id":"e63573b296508926c415ab6079ec95b4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","Content-Length":"108580","Referrer-Policy":"same-origin","X-Frame-Options":"DENY","Date":"Mon, 28 Feb 2022 13:41:01 GMT","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":4.649292,"id":"be6145d84b9114fc","name":"DNS opbeans-node","timestamp":1646055661867808,"trace_id":"b7950d3a2c8b3b18c33b453f284990f5","type":"external","action":"dns","outcome":"success","parent_id":"251e1496e7680184","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b7950d3a2c8b3b18"}} +{"span":{"duration":0.684375,"id":"6d08d27c5fd71d64","name":"Connect 172.23.0.10:3000","timestamp":1646055661872468,"trace_id":"b7950d3a2c8b3b18c33b453f284990f5","type":"external","action":"connect","outcome":"success","parent_id":"251e1496e7680184","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b7950d3a2c8b3b18"}} +{"span":{"duration":47.873958,"id":"2802364ab24e8a85","name":"Request","timestamp":1646055661873188,"trace_id":"b7950d3a2c8b3b18c33b453f284990f5","type":"external","action":"request","outcome":"success","parent_id":"251e1496e7680184","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b7950d3a2c8b3b18"}} +{"span":{"duration":0.11933300000000001,"id":"61ea6b177f816f86","name":"Response","timestamp":1646055661921087,"trace_id":"b7950d3a2c8b3b18c33b453f284990f5","type":"external","action":"response","outcome":"success","parent_id":"251e1496e7680184","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b7950d3a2c8b3b18"}} +{"span":{"duration":53.561042,"id":"251e1496e7680184","name":"GET opbeans-node:3000","timestamp":1646055661867646,"trace_id":"b7950d3a2c8b3b18c33b453f284990f5","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"b7950d3a2c8b3b18","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b7950d3a2c8b3b18"}} +{"transaction":{"duration":53.811625,"id":"b7950d3a2c8b3b18","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055661867544,"trace_id":"b7950d3a2c8b3b18c33b453f284990f5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"128","X-Content-Type-Options":"nosniff","Server":"gunicorn","Vary":"Cookie","Referrer-Policy":"same-origin","X-Powered-By":"Express","Date":"Mon, 28 Feb 2022 13:41:01 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.47825,"id":"cdeb447b0d1cf096","name":"SELECT FROM orders","timestamp":1646055662369987,"trace_id":"0491267308fd1cad832c144bec063f0c","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"231ee95759cb5d4f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"231ee95759cb5d4f"}} +{"span":{"duration":0.751209,"id":"a6bdac841fc99728","name":"SELECT FROM products","timestamp":1646055662370528,"trace_id":"0491267308fd1cad832c144bec063f0c","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"231ee95759cb5d4f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"231ee95759cb5d4f"}} +{"transaction":{"duration":1.500625,"id":"231ee95759cb5d4f","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055662369949,"trace_id":"0491267308fd1cad832c144bec063f0c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/649","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/649"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-0491267308fd1cad832c144bec063f0c-59b30e0e3e3216ad-01","Connection":"close","Traceparent":"00-0491267308fd1cad832c144bec063f0c-59b30e0e3e3216ad-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"59b30e0e3e3216ad","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":513.11825,"id":"75108c16e631f02c","name":"Request","timestamp":1646055661944824,"trace_id":"0491267308fd1cad832c144bec063f0c","type":"external","action":"request","outcome":"success","parent_id":"664127d437d42621","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0491267308fd1cad"}} +{"span":{"duration":0.21075,"id":"2d50ce0c1d815cbc","name":"Response","timestamp":1646055662457969,"trace_id":"0491267308fd1cad832c144bec063f0c","type":"external","action":"response","outcome":"success","parent_id":"664127d437d42621","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0491267308fd1cad"}} +{"span":{"duration":513.4475,"id":"664127d437d42621","name":"GET opbeans-ruby:3000","timestamp":1646055661944734,"trace_id":"0491267308fd1cad832c144bec063f0c","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/649","status_code":200}},"outcome":"success","parent_id":"0491267308fd1cad","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0491267308fd1cad"}} +{"transaction":{"duration":514.1564579999999,"id":"0491267308fd1cad","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055661944269,"trace_id":"0491267308fd1cad832c144bec063f0c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/649","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/649"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.27925,"id":"d8ba0ebaa66cce12","name":"SELECT FROM product_types","timestamp":1646055662478282,"trace_id":"0a89ae96ccb1c93713b90f5bbfc90981","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0a89ae96ccb1c937","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0a89ae96ccb1c937"}} +{"transaction":{"duration":0.5499580000000001,"id":"0a89ae96ccb1c937","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055662478252,"trace_id":"0a89ae96ccb1c93713b90f5bbfc90981","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.35112499999999996,"id":"23c33f19d80ecfd2","name":"DNS opbeans-node","timestamp":1646055662497143,"trace_id":"eb14a054e25a091040c56aac464ccd75","type":"external","action":"dns","outcome":"success","parent_id":"c70d1941b4657d5d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"eb14a054e25a0910"}} +{"span":{"duration":0.106709,"id":"738acd23e7e959bb","name":"Connect 172.23.0.10:3000","timestamp":1646055662497510,"trace_id":"eb14a054e25a091040c56aac464ccd75","type":"external","action":"connect","outcome":"success","parent_id":"c70d1941b4657d5d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"eb14a054e25a0910"}} +{"span":{"duration":35.74404199999999,"id":"e5cee280505408e5","name":"Request","timestamp":1646055662497638,"trace_id":"eb14a054e25a091040c56aac464ccd75","type":"external","action":"request","outcome":"success","parent_id":"c70d1941b4657d5d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"eb14a054e25a0910"}} +{"span":{"duration":0.089084,"id":"187ea28e28a12d7c","name":"Response","timestamp":1646055662533429,"trace_id":"eb14a054e25a091040c56aac464ccd75","type":"external","action":"response","outcome":"success","parent_id":"c70d1941b4657d5d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"eb14a054e25a0910"}} +{"span":{"duration":36.457,"id":"c70d1941b4657d5d","name":"GET opbeans-node:3000","timestamp":1646055662497063,"trace_id":"eb14a054e25a091040c56aac464ccd75","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/5/customers","status_code":200}},"outcome":"success","parent_id":"eb14a054e25a0910","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"eb14a054e25a0910"}} +{"transaction":{"duration":36.708459,"id":"eb14a054e25a0910","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055662496956,"trace_id":"eb14a054e25a091040c56aac464ccd75","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"2","Etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","Date":"Mon, 28 Feb 2022 13:41:02 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.346292,"id":"da93f0cd11f57cc4","name":"DNS opbeans-python","timestamp":1646055662551559,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"external","action":"dns","outcome":"success","parent_id":"6266b3c1251c0d45","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a93e44e12478ae3a"}} +{"span":{"duration":0.22775,"id":"04fad1bb732f0a55","name":"Connect 172.23.0.11:3000","timestamp":1646055662551911,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"external","action":"connect","outcome":"success","parent_id":"6266b3c1251c0d45","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a93e44e12478ae3a"}} +{"span":{"duration":0.394792,"id":"7ac35d5396edc74f","name":"SELECT FROM customers","timestamp":1646055662580192,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"81ea215d5460a945","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"81ea215d5460a945"}} +{"transaction":{"duration":0.551625,"id":"81ea215d5460a945","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055662580164,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/7893","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/7893"},"headers":{"X-Forwarded-For":"172.23.0.10, 172.23.0.9","Accept-Encoding":"gzip","Elastic-Apm-Traceparent":"00-a93e44e12478ae3ad8cd237457153f4c-d1da16f32f0141ea-01","Traceparent":"00-a93e44e12478ae3ad8cd237457153f4c-d1da16f32f0141ea-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d1da16f32f0141ea","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.87175,"id":"e9d48b9e56d9cf79","name":"Request","timestamp":1646055662579938,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"external","action":"request","outcome":"success","parent_id":"d1da16f32f0141ea","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a21792469f7619e2"}} +{"span":{"duration":0.058334000000000004,"id":"117ff4d11b38a1c4","name":"Response","timestamp":1646055662580811,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"external","action":"response","outcome":"success","parent_id":"d1da16f32f0141ea","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a21792469f7619e2"}} +{"span":{"duration":0.939167,"id":"d1da16f32f0141ea","name":"GET opbeans-go:3000","timestamp":1646055662579931,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/7893","status_code":404}},"outcome":"failure","parent_id":"a21792469f7619e2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a21792469f7619e2"}} +{"transaction":{"duration":1.0596670000000001,"id":"a21792469f7619e2","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055662579893,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/7893","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/7893"},"headers":{"Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.10","Accept-Encoding":"gzip","Elastic-Apm-Traceparent":"00-a93e44e12478ae3ad8cd237457153f4c-c8f4775d422b28a2-01","Traceparent":"00-a93e44e12478ae3ad8cd237457153f4c-c8f4775d422b28a2-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:02 GMT","Content-Length":"0"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c8f4775d422b28a2","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":1.476625,"id":"90c86d6b30463154","name":"Request","timestamp":1646055662579562,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"external","action":"request","outcome":"success","parent_id":"c8f4775d422b28a2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"764416138a5b46b4"}} +{"span":{"duration":0.021041999999999998,"id":"f68648a2207d5503","name":"Response","timestamp":1646055662581040,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"external","action":"response","outcome":"success","parent_id":"c8f4775d422b28a2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"764416138a5b46b4"}} +{"span":{"duration":1.5272919999999999,"id":"c8f4775d422b28a2","name":"GET opbeans-go:3000","timestamp":1646055662579534,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/7893","status_code":404}},"outcome":"failure","parent_id":"764416138a5b46b4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"764416138a5b46b4"}} +{"transaction":{"duration":1.646,"id":"764416138a5b46b4","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055662579463,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/7893","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/7893"},"headers":{"Traceparent":"00-a93e44e12478ae3ad8cd237457153f4c-59f70a096bd8728f-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-a93e44e12478ae3ad8cd237457153f4c-59f70a096bd8728f-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Length":"0","Date":"Mon, 28 Feb 2022 13:41:02 GMT"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"59f70a096bd8728f","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":152.367084,"id":"b8fc6bf4c393c6a3","name":"Request","timestamp":1646055662552165,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"external","action":"request","outcome":"success","parent_id":"6266b3c1251c0d45","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a93e44e12478ae3a"}} +{"span":{"duration":0.18475,"id":"18a36a839da7050d","name":"Response","timestamp":1646055662704577,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"external","action":"response","outcome":"success","parent_id":"6266b3c1251c0d45","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a93e44e12478ae3a"}} +{"span":{"duration":153.285208,"id":"6266b3c1251c0d45","name":"GET opbeans-python:3000","timestamp":1646055662551478,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers/7893","status_code":404}},"outcome":"failure","parent_id":"a93e44e12478ae3a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a93e44e12478ae3a"}} +{"transaction":{"duration":153.92208399999998,"id":"a93e44e12478ae3a","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055662551382,"trace_id":"a93e44e12478ae3ad8cd237457153f4c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/7893","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/7893"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/plain","X-Frame-Options":"DENY","Content-Length":"0","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Vary":"Cookie","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:41:02 GMT"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":1.5147089999999999,"id":"9695536054da2c3b","name":"SELECT FROM products","timestamp":1646055662746988,"trace_id":"bce3c1152f814881a74c5904e9295656","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1917480e4cea5ee2","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1917480e4cea5ee2"}} +{"transaction":{"duration":2.366458,"id":"1917480e4cea5ee2","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055662746771,"trace_id":"bce3c1152f814881a74c5904e9295656","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-bce3c1152f814881a74c5904e9295656-f498f22e1c5210f3-01","Traceparent":"00-bce3c1152f814881a74c5904e9295656-f498f22e1c5210f3-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f498f22e1c5210f3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.8078339999999997,"id":"8e8163a9f244e0b7","name":"Request","timestamp":1646055662746483,"trace_id":"bce3c1152f814881a74c5904e9295656","type":"external","action":"request","outcome":"success","parent_id":"f498f22e1c5210f3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bce3c1152f814881"}} +{"span":{"duration":0.10466600000000001,"id":"b740cb5744038a68","name":"Response","timestamp":1646055662749293,"trace_id":"bce3c1152f814881a74c5904e9295656","type":"external","action":"response","outcome":"success","parent_id":"f498f22e1c5210f3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bce3c1152f814881"}} +{"span":{"duration":2.984625,"id":"f498f22e1c5210f3","name":"GET opbeans-go:3000","timestamp":1646055662746414,"trace_id":"bce3c1152f814881a74c5904e9295656","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/6","status_code":200}},"outcome":"success","parent_id":"bce3c1152f814881","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"bce3c1152f814881"}} +{"transaction":{"duration":3.728667,"id":"bce3c1152f814881","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055662745791,"trace_id":"bce3c1152f814881a74c5904e9295656","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:02 GMT","Content-Length":"254","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":218.818876,"id":"5001144fae115a68","name":"Request","timestamp":1646055662792292,"trace_id":"cdd5b1eefba76163f6587109d3faea0b","type":"external","action":"request","outcome":"success","parent_id":"bfe61fc7922eaff5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cdd5b1eefba76163"}} +{"span":{"duration":0.236458,"id":"93cee3ea9206deee","name":"Response","timestamp":1646055663011156,"trace_id":"cdd5b1eefba76163f6587109d3faea0b","type":"external","action":"response","outcome":"success","parent_id":"bfe61fc7922eaff5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"cdd5b1eefba76163"}} +{"span":{"duration":219.128083,"id":"bfe61fc7922eaff5","name":"GET opbeans-ruby:3000","timestamp":1646055662792266,"trace_id":"cdd5b1eefba76163f6587109d3faea0b","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/6/customers?limit=90","status_code":200}},"outcome":"success","parent_id":"cdd5b1eefba76163","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"cdd5b1eefba76163"}} +{"transaction":{"duration":219.63904200000002,"id":"cdd5b1eefba76163","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055662791984,"trace_id":"cdd5b1eefba76163f6587109d3faea0b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","search":"limit=90","full":"http://opbeans-go:3000/api/products/6/customers?limit=90"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.514584,"id":"39c2eb22d794e50c","name":"SELECT FROM customers","timestamp":1646055663042604,"trace_id":"99db1ea77de348def47e336adb12ee2e","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"99db1ea77de348de","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"99db1ea77de348de"}} +{"transaction":{"duration":0.725166,"id":"99db1ea77de348de","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055663042573,"trace_id":"99db1ea77de348def47e336adb12ee2e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/637","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/637"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5855,"id":"dbf0388c58454d4e","name":"SELECT FROM products","timestamp":1646055663076976,"trace_id":"0cf828cc453eef1265cebbf1e2af17ca","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8bae3388d5dea164","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8bae3388d5dea164"}} +{"transaction":{"duration":0.748834,"id":"8bae3388d5dea164","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055663076956,"trace_id":"0cf828cc453eef1265cebbf1e2af17ca","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-0cf828cc453eef1265cebbf1e2af17ca-a46b478ba9b41fe7-01","Traceparent":"00-0cf828cc453eef1265cebbf1e2af17ca-a46b478ba9b41fe7-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a46b478ba9b41fe7","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.0746250000000002,"id":"6d3fc2b4f20fa1e9","name":"Request","timestamp":1646055663076731,"trace_id":"0cf828cc453eef1265cebbf1e2af17ca","type":"external","action":"request","outcome":"success","parent_id":"a46b478ba9b41fe7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0cf828cc453eef12"}} +{"span":{"duration":0.140542,"id":"228816f973fc9439","name":"Response","timestamp":1646055663077807,"trace_id":"0cf828cc453eef1265cebbf1e2af17ca","type":"external","action":"response","outcome":"success","parent_id":"a46b478ba9b41fe7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0cf828cc453eef12"}} +{"span":{"duration":1.2482909999999998,"id":"a46b478ba9b41fe7","name":"GET opbeans-go:3000","timestamp":1646055663076699,"trace_id":"0cf828cc453eef1265cebbf1e2af17ca","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/4","status_code":200}},"outcome":"success","parent_id":"0cf828cc453eef12","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0cf828cc453eef12"}} +{"transaction":{"duration":1.443541,"id":"0cf828cc453eef12","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055663076568,"trace_id":"0cf828cc453eef1265cebbf1e2af17ca","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:41:03 GMT","Content-Length":"243"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.384583,"id":"c280a947a6e14390","name":"SELECT FROM customers","timestamp":1646055663100966,"trace_id":"2745bc1619a8657357e2d981ff114e49","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2745bc1619a86573","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2745bc1619a86573"}} +{"transaction":{"duration":4.480125,"id":"2745bc1619a86573","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055663100938,"trace_id":"2745bc1619a8657357e2d981ff114e49","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2/customers","port":"3000","protocol":"http","search":"limit=100","full":"http://opbeans-go:3000/api/products/2/customers?limit=100"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.41154100000000005,"id":"4394d3cd9547e4f0","name":"DNS opbeans-python","timestamp":1646055663140625,"trace_id":"6889513386d9f990e6e16f47263bfdc7","type":"external","action":"dns","outcome":"success","parent_id":"64b6bd89639a3ded","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6889513386d9f990"}} +{"span":{"duration":0.16162500000000002,"id":"ae94b1c2d89048ff","name":"Connect 172.23.0.11:3000","timestamp":1646055663141045,"trace_id":"6889513386d9f990e6e16f47263bfdc7","type":"external","action":"connect","outcome":"success","parent_id":"64b6bd89639a3ded","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6889513386d9f990"}} +{"span":{"duration":139.51133299999998,"id":"b77a8e8bf7d831da","name":"Request","timestamp":1646055663141226,"trace_id":"6889513386d9f990e6e16f47263bfdc7","type":"external","action":"request","outcome":"success","parent_id":"64b6bd89639a3ded","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6889513386d9f990"}} +{"span":{"duration":0.768833,"id":"361c60cece873b06","name":"Response","timestamp":1646055663280768,"trace_id":"6889513386d9f990e6e16f47263bfdc7","type":"external","action":"response","outcome":"success","parent_id":"64b6bd89639a3ded","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6889513386d9f990"}} +{"span":{"duration":140.97775000000001,"id":"64b6bd89639a3ded","name":"GET opbeans-python:3000","timestamp":1646055663140561,"trace_id":"6889513386d9f990e6e16f47263bfdc7","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"6889513386d9f990","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"6889513386d9f990"}} +{"transaction":{"duration":141.259875,"id":"6889513386d9f990","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055663140480,"trace_id":"6889513386d9f990e6e16f47263bfdc7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Content-Type":"application/json; charset=utf-8","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:41:03 GMT","X-Frame-Options":"DENY","Content-Length":"275"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":62.00275,"id":"008abd915a1089cc","name":"Request","timestamp":1646055663302916,"trace_id":"ac2bd9c923c3bc8f33917108335d47a5","type":"external","action":"request","outcome":"success","parent_id":"f605378c2a422883","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ac2bd9c923c3bc8f"}} +{"span":{"duration":0.149083,"id":"05c08548c5d9a4fb","name":"Response","timestamp":1646055663364944,"trace_id":"ac2bd9c923c3bc8f33917108335d47a5","type":"external","action":"response","outcome":"success","parent_id":"f605378c2a422883","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ac2bd9c923c3bc8f"}} +{"span":{"duration":62.321708,"id":"f605378c2a422883","name":"GET opbeans-ruby:3000","timestamp":1646055663302772,"trace_id":"ac2bd9c923c3bc8f33917108335d47a5","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"ac2bd9c923c3bc8f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ac2bd9c923c3bc8f"}} +{"transaction":{"duration":62.552958000000004,"id":"ac2bd9c923c3bc8f","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055663302646,"trace_id":"ac2bd9c923c3bc8f33917108335d47a5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Xss-Protection":"1; mode=block","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin","X-Runtime":"0.032133","X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","Vary":"Accept","X-Frame-Options":"SAMEORIGIN","Content-Type":"application/json; charset=utf-8","Etag":"W/\"86dca956c4d935f7a1a446036838b927\"","Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"11af470b-7dc5-49d8-9243-06174cd3bf0c"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.611917,"id":"ecc53795c44ac54d","name":"DNS opbeans-python","timestamp":1646055663385492,"trace_id":"7407b35bc33d8d59242c280087179d7b","type":"external","action":"dns","outcome":"success","parent_id":"40164c6e8301c5d6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7407b35bc33d8d59"}} +{"span":{"duration":0.43425,"id":"875a3238c01f9383","name":"Connect 172.23.0.11:3000","timestamp":1646055663386119,"trace_id":"7407b35bc33d8d59242c280087179d7b","type":"external","action":"connect","outcome":"success","parent_id":"40164c6e8301c5d6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7407b35bc33d8d59"}} +{"span":{"duration":0.5829169999999999,"id":"fb2ab0a9808a14c8","name":"SELECT FROM product_types","timestamp":1646055663506400,"trace_id":"84e5203c868ed70458874eef6f30c963","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d6c4e2a2959e4dce","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d6c4e2a2959e4dce"}} +{"transaction":{"duration":0.7585409999999999,"id":"d6c4e2a2959e4dce","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055663506347,"trace_id":"84e5203c868ed70458874eef6f30c963","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-84e5203c868ed70458874eef6f30c963-b7f57572570ed829-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-84e5203c868ed70458874eef6f30c963-b7f57572570ed829-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b7f57572570ed829","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":72.67958300000001,"id":"f7e41ebd3adfe5c1","name":"Request","timestamp":1646055663581668,"trace_id":"86dbca2c5c530309ef2fbc1949ebcd07","type":"external","action":"request","outcome":"success","parent_id":"82c630f97d7226ec","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a17ef8bda065c82a"}} +{"span":{"duration":9.035708,"id":"391a1e1d8faf1b6c","name":"Response","timestamp":1646055663654377,"trace_id":"86dbca2c5c530309ef2fbc1949ebcd07","type":"external","action":"response","outcome":"success","parent_id":"82c630f97d7226ec","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a17ef8bda065c82a"}} +{"span":{"duration":81.81545899999999,"id":"82c630f97d7226ec","name":"GET opbeans-ruby:3000","timestamp":1646055663581648,"trace_id":"86dbca2c5c530309ef2fbc1949ebcd07","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"a17ef8bda065c82a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a17ef8bda065c82a"}} +{"transaction":{"duration":82.047875,"id":"a17ef8bda065c82a","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055663581582,"trace_id":"86dbca2c5c530309ef2fbc1949ebcd07","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-86dbca2c5c530309ef2fbc1949ebcd07-167c358c8b938a17-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-86dbca2c5c530309ef2fbc1949ebcd07-167c358c8b938a17-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Xss-Protection":"1; mode=block","Content-Type":"application/json; charset=utf-8","X-Request-Id":"6c9e900f-e2fb-4180-9307-d834a18528a6","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","Etag":"W/\"6b84b8cfae4908f93f790804f2c9e7c9\"","Cache-Control":"max-age=0, private, must-revalidate","X-Runtime":"0.061807"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"167c358c8b938a17","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":45.832916000000004,"id":"21e421c4e81f51d7","name":"Request","timestamp":1646055663720624,"trace_id":"493b5052f24450efd2d501dd93e0631e","type":"external","action":"request","outcome":"success","parent_id":"6541507e89ef2091","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e4c213ff78506581"}} +{"span":{"duration":0.065291,"id":"69e7018a0aa5dd82","name":"Response","timestamp":1646055663766493,"trace_id":"493b5052f24450efd2d501dd93e0631e","type":"external","action":"response","outcome":"success","parent_id":"6541507e89ef2091","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e4c213ff78506581"}} +{"span":{"duration":45.954665999999996,"id":"6541507e89ef2091","name":"GET opbeans-ruby:3000","timestamp":1646055663720605,"trace_id":"493b5052f24450efd2d501dd93e0631e","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/900","status_code":404}},"outcome":"failure","parent_id":"e4c213ff78506581","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e4c213ff78506581"}} +{"transaction":{"duration":46.141792,"id":"e4c213ff78506581","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055663720521,"trace_id":"493b5052f24450efd2d501dd93e0631e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/900","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/900"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-493b5052f24450efd2d501dd93e0631e-1ddd44f76eb6b2e9-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-493b5052f24450efd2d501dd93e0631e-1ddd44f76eb6b2e9-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Runtime":"0.038308","Content-Length":"1722","Content-Type":"text/html; charset=UTF-8","X-Request-Id":"2d8166e2-fa64-4efb-bda7-dae24bb19063"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"1ddd44f76eb6b2e9","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.513125,"id":"0f0982c62bb29664","name":"SELECT FROM product_types","timestamp":1646055664450772,"trace_id":"8368784496104433ad682a1c0b3e1804","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"54486c29d655ebaa","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"54486c29d655ebaa"}} +{"transaction":{"duration":0.648667,"id":"54486c29d655ebaa","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055664450746,"trace_id":"8368784496104433ad682a1c0b3e1804","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-8368784496104433ad682a1c0b3e1804-9a26dfa77031fda3-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-8368784496104433ad682a1c0b3e1804-9a26dfa77031fda3-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"9a26dfa77031fda3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.39520799999999995,"id":"78ba20ca60c805aa","name":"SELECT FROM customers","timestamp":1646055664614889,"trace_id":"c6537f1c45d7096754713620813bb992","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a476386cbd6e405d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a476386cbd6e405d"}} +{"transaction":{"duration":2.340458,"id":"a476386cbd6e405d","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055664614873,"trace_id":"c6537f1c45d7096754713620813bb992","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Traceparent":"00-c6537f1c45d7096754713620813bb992-89353844aa63a422-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-c6537f1c45d7096754713620813bb992-89353844aa63a422-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"89353844aa63a422","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.488167,"id":"aaaef4a8b4d9ea71","name":"SELECT FROM orders","timestamp":1646055664855267,"trace_id":"cea58e34c506426122a208b9e9359b21","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"51580377624f434a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"51580377624f434a"}} +{"transaction":{"duration":3.276708,"id":"51580377624f434a","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055664855252,"trace_id":"cea58e34c506426122a208b9e9359b21","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-cea58e34c506426122a208b9e9359b21-507c8cf138639347-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-cea58e34c506426122a208b9e9359b21-507c8cf138639347-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"507c8cf138639347","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.321791,"id":"517205248d43a34e","name":"SELECT FROM products","timestamp":1646055665014463,"trace_id":"c3564c1bb42aa376684f66cdcd2d8098","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d6eb66f015649376","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d6eb66f015649376"}} +{"transaction":{"duration":0.626458,"id":"d6eb66f015649376","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055665014416,"trace_id":"c3564c1bb42aa376684f66cdcd2d8098","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Elastic-Apm-Traceparent":"00-c3564c1bb42aa376684f66cdcd2d8098-ec35b6cbc677a512-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-c3564c1bb42aa376684f66cdcd2d8098-ec35b6cbc677a512-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ec35b6cbc677a512","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":12.865666,"id":"8aac1eb51fe85c69","name":"Request","timestamp":1646055665006809,"trace_id":"c3564c1bb42aa376684f66cdcd2d8098","type":"external","action":"request","outcome":"success","parent_id":"7d3979574eb50554","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"349105da73b3974d"}} +{"span":{"duration":6.551584,"id":"f0ae59194cfc98b8","name":"Response","timestamp":1646055665019704,"trace_id":"c3564c1bb42aa376684f66cdcd2d8098","type":"external","action":"response","outcome":"success","parent_id":"7d3979574eb50554","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"349105da73b3974d"}} +{"span":{"duration":19.545833,"id":"7d3979574eb50554","name":"GET opbeans-ruby:3000","timestamp":1646055665006800,"trace_id":"c3564c1bb42aa376684f66cdcd2d8098","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"349105da73b3974d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"349105da73b3974d"}} +{"transaction":{"duration":19.910459,"id":"349105da73b3974d","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055665006757,"trace_id":"c3564c1bb42aa376684f66cdcd2d8098","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"User-Agent":"python-requests/2.27.1","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-c3564c1bb42aa376684f66cdcd2d8098-1e0298bc8f8c5ac2-01","Traceparent":"00-c3564c1bb42aa376684f66cdcd2d8098-1e0298bc8f8c5ac2-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.11"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"1e0298bc8f8c5ac2","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":20.146667,"id":"96b984e7db792a3b","name":"Request","timestamp":1646055665006597,"trace_id":"c3564c1bb42aa376684f66cdcd2d8098","type":"external","action":"request","outcome":"success","parent_id":"1e0298bc8f8c5ac2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4af22ef4736c81bb"}} +{"span":{"duration":0.32295799999999997,"id":"4ef843662d7dd1f4","name":"Response","timestamp":1646055665026751,"trace_id":"c3564c1bb42aa376684f66cdcd2d8098","type":"external","action":"response","outcome":"success","parent_id":"1e0298bc8f8c5ac2","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4af22ef4736c81bb"}} +{"span":{"duration":20.504167,"id":"1e0298bc8f8c5ac2","name":"GET opbeans-go:3000","timestamp":1646055665006571,"trace_id":"c3564c1bb42aa376684f66cdcd2d8098","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"4af22ef4736c81bb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4af22ef4736c81bb"}} +{"transaction":{"duration":20.852125,"id":"4af22ef4736c81bb","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055665006382,"trace_id":"c3564c1bb42aa376684f66cdcd2d8098","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Elastic-Apm-Traceparent":"00-c3564c1bb42aa376684f66cdcd2d8098-11b09018732a7d52-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-c3564c1bb42aa376684f66cdcd2d8098-11b09018732a7d52-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:05 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"11b09018732a7d52","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.3345,"id":"01f4b9a105f7eb51","name":"SELECT FROM product_types","timestamp":1646055665341095,"trace_id":"69a6a3a8cb9700adcf10a56adc1b3eea","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ef879cbc343d95fc","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ef879cbc343d95fc"}} +{"transaction":{"duration":0.5411250000000001,"id":"ef879cbc343d95fc","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055665341080,"trace_id":"69a6a3a8cb9700adcf10a56adc1b3eea","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Connection":"close","Traceparent":"00-69a6a3a8cb9700adcf10a56adc1b3eea-da16a4eac531e36c-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-69a6a3a8cb9700adcf10a56adc1b3eea-da16a4eac531e36c-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"da16a4eac531e36c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":28.052042,"id":"3914988cd8e90bbc","name":"Request","timestamp":1646055665457638,"trace_id":"18dedb08e351f8f68ddd9e14c33397d2","type":"external","action":"request","outcome":"success","parent_id":"23c3ff423e1d95d6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"56f7aede7e7b6ee8"}} +{"span":{"duration":0.132459,"id":"320398edca70a756","name":"Response","timestamp":1646055665485802,"trace_id":"18dedb08e351f8f68ddd9e14c33397d2","type":"external","action":"response","outcome":"success","parent_id":"23c3ff423e1d95d6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"56f7aede7e7b6ee8"}} +{"span":{"duration":28.316791000000002,"id":"23c3ff423e1d95d6","name":"GET opbeans-node:3000","timestamp":1646055665457619,"trace_id":"18dedb08e351f8f68ddd9e14c33397d2","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products","status_code":200}},"outcome":"success","parent_id":"56f7aede7e7b6ee8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"56f7aede7e7b6ee8"}} +{"transaction":{"duration":28.607042,"id":"56f7aede7e7b6ee8","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055665457425,"trace_id":"18dedb08e351f8f68ddd9e14c33397d2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-18dedb08e351f8f68ddd9e14c33397d2-b03832efbc14221f-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-18dedb08e351f8f68ddd9e14c33397d2-b03832efbc14221f-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"1023","Etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","Date":"Mon, 28 Feb 2022 13:41:05 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"b03832efbc14221f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.520458,"id":"e1f7ec9848c4e5a0","name":"SELECT FROM orders","timestamp":1646055665562251,"trace_id":"4e87a368fd6313aacdb472b89b4fe1a5","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4e87a368fd6313aa","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4e87a368fd6313aa"}} +{"transaction":{"duration":2.735833,"id":"4e87a368fd6313aa","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055665562238,"trace_id":"4e87a368fd6313aacdb472b89b4fe1a5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":298.454292,"id":"b5b561ced50c03cd","name":"Request","timestamp":1646055665717324,"trace_id":"d712c4e2b95a057bd14e27f391695e75","type":"external","action":"request","outcome":"success","parent_id":"22ae5be6ee96c2b1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e9728648d01a42cf"}} +{"span":{"duration":0.302083,"id":"eae91ed6326a16a9","name":"Response","timestamp":1646055666015939,"trace_id":"d712c4e2b95a057bd14e27f391695e75","type":"external","action":"response","outcome":"success","parent_id":"22ae5be6ee96c2b1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e9728648d01a42cf"}} +{"span":{"duration":298.950084,"id":"22ae5be6ee96c2b1","name":"GET opbeans-ruby:3000","timestamp":1646055665717293,"trace_id":"d712c4e2b95a057bd14e27f391695e75","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"e9728648d01a42cf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e9728648d01a42cf"}} +{"transaction":{"duration":299.36233400000003,"id":"e9728648d01a42cf","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055665717069,"trace_id":"d712c4e2b95a057bd14e27f391695e75","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Elastic-Apm-Traceparent":"00-d712c4e2b95a057bd14e27f391695e75-1c79731acf2d9c9b-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-d712c4e2b95a057bd14e27f391695e75-1c79731acf2d9c9b-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"1c79731acf2d9c9b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5609999999999999,"id":"16a45603d54966ef","name":"DNS opbeans-python","timestamp":1646055666152762,"trace_id":"00cee5240d1957a8cda2c795a79bfe55","type":"external","action":"dns","outcome":"success","parent_id":"a4f76c76cbd7e37d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0d31a9063ecdc4f9"}} +{"span":{"duration":0.109833,"id":"1e385f45bb9a6e4d","name":"Connect 172.23.0.11:3000","timestamp":1646055666153330,"trace_id":"00cee5240d1957a8cda2c795a79bfe55","type":"external","action":"connect","outcome":"success","parent_id":"a4f76c76cbd7e37d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0d31a9063ecdc4f9"}} +{"span":{"duration":41.153,"id":"9a7e5aa508a4d087","name":"Request","timestamp":1646055666219009,"trace_id":"6ffee3af6be7bdb879883f8c2f3babff","type":"external","action":"request","outcome":"success","parent_id":"c675fc687c261273","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"02e046c2c0efeb26"}} +{"span":{"duration":115.24316599999999,"id":"0f397b042a8e6c76","name":"Request","timestamp":1646055666153478,"trace_id":"00cee5240d1957a8cda2c795a79bfe55","type":"external","action":"request","outcome":"success","parent_id":"a4f76c76cbd7e37d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0d31a9063ecdc4f9"}} +{"span":{"duration":10.871333,"id":"1d56745832afa6cd","name":"Response","timestamp":1646055666260200,"trace_id":"6ffee3af6be7bdb879883f8c2f3babff","type":"external","action":"response","outcome":"success","parent_id":"c675fc687c261273","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"02e046c2c0efeb26"}} +{"span":{"duration":52.125209,"id":"c675fc687c261273","name":"GET opbeans-ruby:3000","timestamp":1646055666218989,"trace_id":"6ffee3af6be7bdb879883f8c2f3babff","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/3/customers","status_code":200}},"outcome":"success","parent_id":"02e046c2c0efeb26","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"02e046c2c0efeb26"}} +{"transaction":{"duration":52.683541,"id":"02e046c2c0efeb26","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055666218823,"trace_id":"6ffee3af6be7bdb879883f8c2f3babff","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3/customers"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-6ffee3af6be7bdb879883f8c2f3babff-6390571506faa26d-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-6ffee3af6be7bdb879883f8c2f3babff-6390571506faa26d-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Referrer-Policy":"strict-origin-when-cross-origin","Cache-Control":"max-age=0, private, must-revalidate","X-Content-Type-Options":"nosniff","Etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","X-Xss-Protection":"1; mode=block","X-Download-Options":"noopen","X-Frame-Options":"SAMEORIGIN","X-Permitted-Cross-Domain-Policies":"none","Content-Type":"application/json; charset=utf-8","X-Request-Id":"d6dbce5a-12ca-4d57-9c3b-7f19a93a6614","X-Runtime":"0.032748"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6390571506faa26d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.764125,"id":"9eae66f148408878","name":"Response","timestamp":1646055666268750,"trace_id":"00cee5240d1957a8cda2c795a79bfe55","type":"external","action":"response","outcome":"success","parent_id":"a4f76c76cbd7e37d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0d31a9063ecdc4f9"}} +{"span":{"duration":119.965541,"id":"a4f76c76cbd7e37d","name":"GET opbeans-python:3000","timestamp":1646055666152551,"trace_id":"00cee5240d1957a8cda2c795a79bfe55","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"0d31a9063ecdc4f9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0d31a9063ecdc4f9"}} +{"transaction":{"duration":120.39562500000001,"id":"0d31a9063ecdc4f9","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055666152244,"trace_id":"00cee5240d1957a8cda2c795a79bfe55","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-00cee5240d1957a8cda2c795a79bfe55-65404c0f3624eed2-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-00cee5240d1957a8cda2c795a79bfe55-65404c0f3624eed2-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:06 GMT","Content-Length":"108","X-Content-Type-Options":"nosniff","Server":"gunicorn","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Vary":"Cookie","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"65404c0f3624eed2","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.135334,"id":"887887d037fb5f81","name":"SELECT FROM customers","timestamp":1646055666812114,"trace_id":"4c17ebe80e8178fad531e06dd6d60fc8","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"94d19f3ada0c31a0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"94d19f3ada0c31a0"}} +{"transaction":{"duration":2.618709,"id":"94d19f3ada0c31a0","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055666812074,"trace_id":"4c17ebe80e8178fad531e06dd6d60fc8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1/customers"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-4c17ebe80e8178fad531e06dd6d60fc8-a2f6506406c89b9c-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-4c17ebe80e8178fad531e06dd6d60fc8-a2f6506406c89b9c-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a2f6506406c89b9c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.35820799999999997,"id":"f1b45be5e0dfa458","name":"SELECT FROM customers","timestamp":1646055666997588,"trace_id":"0fccbb589838fa93dde24fc1d20d2b11","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"caae69fe1d8a4f37","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"caae69fe1d8a4f37"}} +{"transaction":{"duration":2.00475,"id":"caae69fe1d8a4f37","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055666997572,"trace_id":"0fccbb589838fa93dde24fc1d20d2b11","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-0fccbb589838fa93dde24fc1d20d2b11-c6d266d5833bcff3-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-0fccbb589838fa93dde24fc1d20d2b11-c6d266d5833bcff3-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"c6d266d5833bcff3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.4435,"id":"1a0e0a6e52254015","name":"SELECT FROM products","timestamp":1646055667402754,"trace_id":"0553f0eb9d1289d3dd23bff8410faf61","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"786380a954cd06a0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"786380a954cd06a0"}} +{"transaction":{"duration":0.8686250000000001,"id":"786380a954cd06a0","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055667402710,"trace_id":"0553f0eb9d1289d3dd23bff8410faf61","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Elastic-Apm-Traceparent":"00-0553f0eb9d1289d3dd23bff8410faf61-552c9c490b3c0628-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-0553f0eb9d1289d3dd23bff8410faf61-552c9c490b3c0628-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"552c9c490b3c0628","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.6302079999999999,"id":"5cef87d6b76772f4","name":"SELECT FROM products","timestamp":1646055667720413,"trace_id":"1f68686b9bc80bf42976be319db033a2","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b014edece7e4c59e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b014edece7e4c59e"}} +{"transaction":{"duration":1.7708750000000002,"id":"b014edece7e4c59e","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055667720395,"trace_id":"1f68686b9bc80bf42976be319db033a2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-1f68686b9bc80bf42976be319db033a2-6599ff4e0f7b1f87-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-1f68686b9bc80bf42976be319db033a2-6599ff4e0f7b1f87-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"6599ff4e0f7b1f87","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.9437500000000001,"id":"dd3c05e369bdea40","name":"SELECT FROM customers","timestamp":1646055667763816,"trace_id":"69f172f36c6946f1623972d93894cc75","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4794268387ee3ffe","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4794268387ee3ffe"}} +{"transaction":{"duration":1.122917,"id":"4794268387ee3ffe","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055667763795,"trace_id":"69f172f36c6946f1623972d93894cc75","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/11","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/11"},"headers":{"Elastic-Apm-Traceparent":"00-69f172f36c6946f1623972d93894cc75-3464d92585f74507-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-69f172f36c6946f1623972d93894cc75-3464d92585f74507-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"3464d92585f74507","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.355833,"id":"6ae8324933036633","name":"SELECT FROM product_types","timestamp":1646055668704772,"trace_id":"349e2f66610be7231223712c996e1146","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5b49ecf46c5d6e08","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5b49ecf46c5d6e08"}} +{"transaction":{"duration":0.6353329999999999,"id":"5b49ecf46c5d6e08","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055668704740,"trace_id":"349e2f66610be7231223712c996e1146","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-349e2f66610be7231223712c996e1146-33075f432ad5de54-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-349e2f66610be7231223712c996e1146-33075f432ad5de54-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"33075f432ad5de54","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.503375,"id":"bb3992b264a98d0e","name":"DNS opbeans-python","timestamp":1646055668740506,"trace_id":"fe1ae3e19e6dc7fae049ad9574f645ff","type":"external","action":"dns","outcome":"success","parent_id":"d33db8df3cdd9235","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c65426c6d1a14fe0"}} +{"span":{"duration":0.102792,"id":"4a2e017d22bd0fbb","name":"Connect 172.23.0.11:3000","timestamp":1646055668741014,"trace_id":"fe1ae3e19e6dc7fae049ad9574f645ff","type":"external","action":"connect","outcome":"success","parent_id":"d33db8df3cdd9235","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c65426c6d1a14fe0"}} +{"span":{"duration":121.456416,"id":"4ffad1d1cad20328","name":"Request","timestamp":1646055668741127,"trace_id":"fe1ae3e19e6dc7fae049ad9574f645ff","type":"external","action":"request","outcome":"success","parent_id":"d33db8df3cdd9235","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c65426c6d1a14fe0"}} +{"span":{"duration":1.558292,"id":"318e7728155edd9f","name":"Response","timestamp":1646055668862627,"trace_id":"fe1ae3e19e6dc7fae049ad9574f645ff","type":"external","action":"response","outcome":"success","parent_id":"d33db8df3cdd9235","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c65426c6d1a14fe0"}} +{"span":{"duration":123.758583,"id":"d33db8df3cdd9235","name":"GET opbeans-python:3000","timestamp":1646055668740428,"trace_id":"fe1ae3e19e6dc7fae049ad9574f645ff","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"c65426c6d1a14fe0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c65426c6d1a14fe0"}} +{"transaction":{"duration":124.66099999999999,"id":"c65426c6d1a14fe0","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055668740158,"trace_id":"fe1ae3e19e6dc7fae049ad9574f645ff","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-fe1ae3e19e6dc7fae049ad9574f645ff-4b72cb14f6cfe927-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-fe1ae3e19e6dc7fae049ad9574f645ff-4b72cb14f6cfe927-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Length":"275","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:41:08 GMT","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"4b72cb14f6cfe927","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":5652.401336000001,"id":"78796119ab77392e","name":"Request","timestamp":1646055663386658,"trace_id":"7407b35bc33d8d59242c280087179d7b","type":"external","action":"request","outcome":"success","parent_id":"40164c6e8301c5d6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7407b35bc33d8d59"}} +{"span":{"duration":0.397,"id":"f89878162e5ed75e","name":"Response","timestamp":1646055669039102,"trace_id":"7407b35bc33d8d59242c280087179d7b","type":"external","action":"response","outcome":"success","parent_id":"40164c6e8301c5d6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7407b35bc33d8d59"}} +{"span":{"duration":5654.065753,"id":"40164c6e8301c5d6","name":"GET opbeans-python:3000","timestamp":1646055663385434,"trace_id":"7407b35bc33d8d59242c280087179d7b","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"7407b35bc33d8d59","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7407b35bc33d8d59"}} +{"transaction":{"duration":5654.36517,"id":"7407b35bc33d8d59","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055663385357,"trace_id":"7407b35bc33d8d59242c280087179d7b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"108580","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:41:09 GMT","Vary":"Cookie","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.374083,"id":"af46764ff002dc64","name":"SELECT FROM customers","timestamp":1646055669070408,"trace_id":"6e7f051f71f7a4e51c7dd9c0c6653de7","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0302438e46b98cc3","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0302438e46b98cc3"}} +{"transaction":{"duration":1.920292,"id":"0302438e46b98cc3","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055669070394,"trace_id":"6e7f051f71f7a4e51c7dd9c0c6653de7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Traceparent":"00-6e7f051f71f7a4e51c7dd9c0c6653de7-20a00c4e2d4a874c-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-6e7f051f71f7a4e51c7dd9c0c6653de7-20a00c4e2d4a874c-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"20a00c4e2d4a874c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.121667,"id":"841f8cfe385ece17","name":"Request","timestamp":1646055669070263,"trace_id":"6e7f051f71f7a4e51c7dd9c0c6653de7","type":"external","action":"request","outcome":"success","parent_id":"20a00c4e2d4a874c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6e7f051f71f7a4e5"}} +{"span":{"duration":0.477084,"id":"2870dfe1d45af55e","name":"Response","timestamp":1646055669072387,"trace_id":"6e7f051f71f7a4e51c7dd9c0c6653de7","type":"external","action":"response","outcome":"success","parent_id":"20a00c4e2d4a874c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6e7f051f71f7a4e5"}} +{"span":{"duration":2.639375,"id":"20a00c4e2d4a874c","name":"GET opbeans-go:3000","timestamp":1646055669070226,"trace_id":"6e7f051f71f7a4e51c7dd9c0c6653de7","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"6e7f051f71f7a4e5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6e7f051f71f7a4e5"}} +{"transaction":{"duration":2.8423749999999997,"id":"6e7f051f71f7a4e5","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055669070082,"trace_id":"6e7f051f71f7a4e51c7dd9c0c6653de7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:09 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":138.698125,"id":"f2230f2b5fbd5301","name":"Request","timestamp":1646055669096041,"trace_id":"37fe1846a1ce67a235dc2d11f7dc84f9","type":"external","action":"request","outcome":"success","parent_id":"ed55a0049b75ca1a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"37fe1846a1ce67a2"}} +{"span":{"duration":2.4125840000000003,"id":"79f72fa09d27bbf3","name":"Response","timestamp":1646055669234766,"trace_id":"37fe1846a1ce67a235dc2d11f7dc84f9","type":"external","action":"response","outcome":"success","parent_id":"ed55a0049b75ca1a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"37fe1846a1ce67a2"}} +{"span":{"duration":141.163125,"id":"ed55a0049b75ca1a","name":"GET opbeans-node:3000","timestamp":1646055669096019,"trace_id":"37fe1846a1ce67a235dc2d11f7dc84f9","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"37fe1846a1ce67a2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"37fe1846a1ce67a2"}} +{"transaction":{"duration":141.653583,"id":"37fe1846a1ce67a2","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055669095702,"trace_id":"37fe1846a1ce67a235dc2d11f7dc84f9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Referrer-Policy":"same-origin","Content-Type":"application/json","X-Frame-Options":"DENY","Vary":"Cookie","X-Powered-By":"Express","Server":"gunicorn","Content-Length":"203686","Date":"Mon, 28 Feb 2022 13:41:09 GMT","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.31975,"id":"c1e57b3a9f53a489","name":"DNS opbeans-python","timestamp":1646055669257108,"trace_id":"53ff159304cb237a6a492e2b15a043d0","type":"external","action":"dns","outcome":"success","parent_id":"46c826c56b965dca","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"53ff159304cb237a"}} +{"span":{"duration":0.105083,"id":"cf5c2ca4dad49cca","name":"Connect 172.23.0.11:3000","timestamp":1646055669257433,"trace_id":"53ff159304cb237a6a492e2b15a043d0","type":"external","action":"connect","outcome":"success","parent_id":"46c826c56b965dca","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"53ff159304cb237a"}} +{"span":{"duration":0.3865,"id":"cb765d28bfa85275","name":"SELECT FROM customers","timestamp":1646055669257949,"trace_id":"2facc6ec8bca68cde3b0d06335be27d8","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"36e46c072b327552","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"36e46c072b327552"}} +{"transaction":{"duration":0.534375,"id":"36e46c072b327552","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055669257932,"trace_id":"2facc6ec8bca68cde3b0d06335be27d8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/690","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/690"},"headers":{"Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-2facc6ec8bca68cde3b0d06335be27d8-cd95915dc912fd8d-01","Elastic-Apm-Traceparent":"00-2facc6ec8bca68cde3b0d06335be27d8-cd95915dc912fd8d-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"cd95915dc912fd8d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":136.501333,"id":"b858f09ef9a95f9e","name":"Request","timestamp":1646055669257550,"trace_id":"53ff159304cb237a6a492e2b15a043d0","type":"external","action":"request","outcome":"success","parent_id":"46c826c56b965dca","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"53ff159304cb237a"}} +{"span":{"duration":7.958833,"id":"9e717396416fb4e6","name":"Response","timestamp":1646055669394095,"trace_id":"53ff159304cb237a6a492e2b15a043d0","type":"external","action":"response","outcome":"success","parent_id":"46c826c56b965dca","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"53ff159304cb237a"}} +{"span":{"duration":145.092042,"id":"46c826c56b965dca","name":"GET opbeans-python:3000","timestamp":1646055669257019,"trace_id":"53ff159304cb237a6a492e2b15a043d0","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/169","status_code":200}},"outcome":"success","parent_id":"53ff159304cb237a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"53ff159304cb237a"}} +{"transaction":{"duration":145.48325,"id":"53ff159304cb237a","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055669256819,"trace_id":"53ff159304cb237a6a492e2b15a043d0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/169","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/169"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","Vary":"Cookie","Date":"Mon, 28 Feb 2022 13:41:09 GMT","Content-Type":"application/json","Content-Length":"330","Referrer-Policy":"same-origin","X-Content-Type-Options":"nosniff","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.863292,"id":"a4d49ef3cb86ff42","name":"SELECT FROM customers","timestamp":1646055669431737,"trace_id":"e0451d8df07f9950a3d6dd6e52489552","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e0451d8df07f9950","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e0451d8df07f9950"}} +{"transaction":{"duration":10.597958,"id":"e0451d8df07f9950","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055669431716,"trace_id":"e0451d8df07f9950a3d6dd6e52489552","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.14525000000000002,"id":"23069f778e6ec584","name":"GET /oopsie","span_count":{"dropped":0,"started":0},"timestamp":1646055669466060,"trace_id":"23069f778e6ec5849ddefb28766b4081","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/oopsie","port":"3000","protocol":"http","full":"http://opbeans-go:3000/oopsie"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":500},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":0.683083,"id":"1a876f2bcda2ecd1","name":"SELECT FROM customers","timestamp":1646055669487946,"trace_id":"42ca39a50236614109436d90b09e6c70","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"42ca39a502366141","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"42ca39a502366141"}} +{"span":{"duration":0.177584,"id":"bdc721970cb44f0b","name":"INSERT INTO order_lines","timestamp":1646055669488978,"trace_id":"42ca39a50236614109436d90b09e6c70","type":"db","action":"prepare","context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"42ca39a502366141","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"42ca39a502366141"}} +{"span":{"duration":0.640334,"id":"a5f69c240528d9d8","name":"INSERT INTO orders","timestamp":1646055669489161,"trace_id":"42ca39a50236614109436d90b09e6c70","type":"db","action":"query","context":{"db":{"statement":"INSERT INTO orders (customer_id) VALUES ($1) RETURNING id","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"42ca39a502366141","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"42ca39a502366141"}} +{"span":{"duration":0.207833,"id":"f3cec7e3022808d4","name":"INSERT INTO order_lines","timestamp":1646055669489820,"trace_id":"42ca39a50236614109436d90b09e6c70","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"42ca39a502366141","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"42ca39a502366141"}} +{"span":{"duration":0.094833,"id":"52b50159d8610b24","name":"INSERT INTO order_lines","timestamp":1646055669490031,"trace_id":"42ca39a50236614109436d90b09e6c70","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"42ca39a502366141","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"42ca39a502366141"}} +{"span":{"duration":0.093125,"id":"a3445760d54da078","name":"INSERT INTO order_lines","timestamp":1646055669490128,"trace_id":"42ca39a50236614109436d90b09e6c70","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"42ca39a502366141","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"42ca39a502366141"}} +{"span":{"duration":0.10120799999999999,"id":"c04cb156836aab00","name":"INSERT INTO order_lines","timestamp":1646055669490225,"trace_id":"42ca39a50236614109436d90b09e6c70","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"42ca39a502366141","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"42ca39a502366141"}} +{"transaction":{"duration":4.000125000000001,"id":"42ca39a502366141","name":"POST /api/orders","span_count":{"dropped":0,"started":7},"timestamp":1646055669487459,"trace_id":"42ca39a50236614109436d90b09e6c70","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"127","Content-Type":"text/plain; charset=utf-8"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"customer_name":"Judith Hunt","customer_email":"jhunte7@springer.com"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.452583,"id":"2addc3d0dfd9372e","name":"DNS opbeans-python","timestamp":1646055669509741,"trace_id":"f3921d43ce7972d8824917f933e3b05c","type":"external","action":"dns","outcome":"success","parent_id":"2749bc879f3a28aa","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f3921d43ce7972d8"}} +{"span":{"duration":0.19808299999999998,"id":"264323262d10d331","name":"Connect 172.23.0.11:3000","timestamp":1646055669510199,"trace_id":"f3921d43ce7972d8824917f933e3b05c","type":"external","action":"connect","outcome":"success","parent_id":"2749bc879f3a28aa","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f3921d43ce7972d8"}} +{"span":{"duration":38.235083,"id":"5cd60baa68963b3a","name":"Request","timestamp":1646055669510417,"trace_id":"f3921d43ce7972d8824917f933e3b05c","type":"external","action":"request","outcome":"success","parent_id":"2749bc879f3a28aa","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f3921d43ce7972d8"}} +{"span":{"duration":3.483833,"id":"24e5edc7a68bce41","name":"Response","timestamp":1646055669548697,"trace_id":"f3921d43ce7972d8824917f933e3b05c","type":"external","action":"response","outcome":"success","parent_id":"2749bc879f3a28aa","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f3921d43ce7972d8"}} +{"span":{"duration":42.52675,"id":"2749bc879f3a28aa","name":"GET opbeans-python:3000","timestamp":1646055669509658,"trace_id":"f3921d43ce7972d8824917f933e3b05c","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"f3921d43ce7972d8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f3921d43ce7972d8"}} +{"transaction":{"duration":47.380875,"id":"f3921d43ce7972d8","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055669509593,"trace_id":"f3921d43ce7972d8824917f933e3b05c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Content-Type":"application/json","Content-Length":"309","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:41:09 GMT","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.339458,"id":"7765ea5bac318c96","name":"DNS opbeans-node","timestamp":1646055669575468,"trace_id":"a66844852ac5b3abf31bc1fdb3844a2a","type":"external","action":"dns","outcome":"success","parent_id":"5cb2301ce75d9618","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a66844852ac5b3ab"}} +{"span":{"duration":0.225708,"id":"43aabe46141823bb","name":"Connect 172.23.0.10:3000","timestamp":1646055669575813,"trace_id":"a66844852ac5b3abf31bc1fdb3844a2a","type":"external","action":"connect","outcome":"success","parent_id":"5cb2301ce75d9618","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a66844852ac5b3ab"}} +{"span":{"duration":0.302209,"id":"c4fa41f5360cbd91","name":"SELECT FROM product_types","timestamp":1646055669591041,"trace_id":"cf302d8ffb5af78e8a478626ce1a87db","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4ef87fb6f8ead0e4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4ef87fb6f8ead0e4"}} +{"transaction":{"duration":0.405917,"id":"4ef87fb6f8ead0e4","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055669591003,"trace_id":"cf302d8ffb5af78e8a478626ce1a87db","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"User-Agent":"http.rb/5.0.4","Elastic-Apm-Traceparent":"00-cf302d8ffb5af78e8a478626ce1a87db-40c4f7735ec8cd68-01","Traceparent":"00-cf302d8ffb5af78e8a478626ce1a87db-40c4f7735ec8cd68-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.12","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"40c4f7735ec8cd68","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.508125,"id":"73f4ecf03c67732b","name":"Request","timestamp":1646055669590956,"trace_id":"cf302d8ffb5af78e8a478626ce1a87db","type":"external","action":"request","outcome":"success","parent_id":"40c4f7735ec8cd68","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6ec0749de2545091"}} +{"span":{"duration":0.028958,"id":"24412d9ff0eae0b0","name":"Response","timestamp":1646055669591465,"trace_id":"cf302d8ffb5af78e8a478626ce1a87db","type":"external","action":"response","outcome":"success","parent_id":"40c4f7735ec8cd68","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6ec0749de2545091"}} +{"span":{"duration":0.670958,"id":"40c4f7735ec8cd68","name":"GET opbeans-go:3000","timestamp":1646055669590824,"trace_id":"cf302d8ffb5af78e8a478626ce1a87db","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"6ec0749de2545091","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6ec0749de2545091"}} +{"transaction":{"duration":0.789917,"id":"6ec0749de2545091","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055669590733,"trace_id":"cf302d8ffb5af78e8a478626ce1a87db","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-cf302d8ffb5af78e8a478626ce1a87db-d8529b3ef3afd3ee-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-cf302d8ffb5af78e8a478626ce1a87db-d8529b3ef3afd3ee-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:09 GMT","Content-Length":"37","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d8529b3ef3afd3ee","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":91.09183399999999,"id":"f4e8105c3eb90843","name":"Request","timestamp":1646055669576048,"trace_id":"a66844852ac5b3abf31bc1fdb3844a2a","type":"external","action":"request","outcome":"success","parent_id":"5cb2301ce75d9618","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a66844852ac5b3ab"}} +{"span":{"duration":0.386916,"id":"1c6572e92fddbc9f","name":"Response","timestamp":1646055669667206,"trace_id":"a66844852ac5b3abf31bc1fdb3844a2a","type":"external","action":"response","outcome":"success","parent_id":"5cb2301ce75d9618","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a66844852ac5b3ab"}} +{"span":{"duration":92.17887499999999,"id":"5cb2301ce75d9618","name":"GET opbeans-node:3000","timestamp":1646055669575417,"trace_id":"a66844852ac5b3abf31bc1fdb3844a2a","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"a66844852ac5b3ab","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a66844852ac5b3ab"}} +{"transaction":{"duration":92.52449999999999,"id":"a66844852ac5b3ab","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055669575222,"trace_id":"a66844852ac5b3abf31bc1fdb3844a2a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","X-Download-Options":"noopen","X-Runtime":"0.031953","X-Frame-Options":"SAMEORIGIN","Referrer-Policy":"strict-origin-when-cross-origin","Etag":"W/\"05c956bd01f33dfc24760b4f8c51733d\"","X-Content-Type-Options":"nosniff","X-Permitted-Cross-Domain-Policies":"none","X-Request-Id":"36a3a8e2-f514-477d-827c-e48aa8a9b18d","Date":"Mon, 28 Feb 2022 13:41:09 GMT","X-Xss-Protection":"1; mode=block","Content-Type":"application/json; charset=utf-8","Cache-Control":"max-age=0, private, must-revalidate"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.618458,"id":"fe5454877d868c82","name":"SELECT FROM product_types","timestamp":1646055669689438,"trace_id":"c8257a4b4ae7c4fbef3c6e9c6ed71a23","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c8257a4b4ae7c4fb","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c8257a4b4ae7c4fb"}} +{"transaction":{"duration":0.7955409999999999,"id":"c8257a4b4ae7c4fb","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055669689419,"trace_id":"c8257a4b4ae7c4fbef3c6e9c6ed71a23","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.905875,"id":"d0cc6d8e3804723e","name":"SELECT FROM orders","timestamp":1646055669728541,"trace_id":"64042c8f5e6255c6e4200c083d786906","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8b8008478fc22435","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8b8008478fc22435"}} +{"transaction":{"duration":3.2078749999999996,"id":"8b8008478fc22435","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055669728523,"trace_id":"64042c8f5e6255c6e4200c083d786906","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Traceparent":"00-64042c8f5e6255c6e4200c083d786906-cd738a81636f69eb-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-64042c8f5e6255c6e4200c083d786906-cd738a81636f69eb-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"cd738a81636f69eb","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":82.101292,"id":"fc807fc8a0c0fae2","name":"Request","timestamp":1646055669717211,"trace_id":"e62b510b7a156d6eaaf628f9bc13c721","type":"external","action":"request","outcome":"success","parent_id":"ab8573ac16c4cba8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e62b510b7a156d6e"}} +{"span":{"duration":0.105666,"id":"c2c018701e910eb4","name":"Response","timestamp":1646055669799339,"trace_id":"e62b510b7a156d6eaaf628f9bc13c721","type":"external","action":"response","outcome":"success","parent_id":"ab8573ac16c4cba8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e62b510b7a156d6e"}} +{"span":{"duration":82.256625,"id":"ab8573ac16c4cba8","name":"GET opbeans-ruby:3000","timestamp":1646055669717189,"trace_id":"e62b510b7a156d6eaaf628f9bc13c721","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types/3","status_code":200}},"outcome":"success","parent_id":"e62b510b7a156d6e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e62b510b7a156d6e"}} +{"transaction":{"duration":84.928583,"id":"e62b510b7a156d6e","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055669716775,"trace_id":"e62b510b7a156d6eaaf628f9bc13c721","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.305084,"id":"1dab1983715bf978","name":"SELECT FROM product_types","timestamp":1646055669820102,"trace_id":"35c14dbd9c4025fb55c6b20fcf77e50c","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3c30fb2da64487fa","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3c30fb2da64487fa"}} +{"transaction":{"duration":0.396958,"id":"3c30fb2da64487fa","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055669820077,"trace_id":"35c14dbd9c4025fb55c6b20fcf77e50c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-35c14dbd9c4025fb55c6b20fcf77e50c-86f3cd86b2a3fda4-01","Traceparent":"00-35c14dbd9c4025fb55c6b20fcf77e50c-86f3cd86b2a3fda4-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"86f3cd86b2a3fda4","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5650419999999999,"id":"5cd5496b1ac84543","name":"Request","timestamp":1646055669820026,"trace_id":"35c14dbd9c4025fb55c6b20fcf77e50c","type":"external","action":"request","outcome":"success","parent_id":"86f3cd86b2a3fda4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"35c14dbd9c4025fb"}} +{"span":{"duration":0.05875,"id":"87543e33303fb0aa","name":"Response","timestamp":1646055669820592,"trace_id":"35c14dbd9c4025fb55c6b20fcf77e50c","type":"external","action":"response","outcome":"success","parent_id":"86f3cd86b2a3fda4","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"35c14dbd9c4025fb"}} +{"span":{"duration":0.6617500000000001,"id":"86f3cd86b2a3fda4","name":"GET opbeans-go:3000","timestamp":1646055669819989,"trace_id":"35c14dbd9c4025fb55c6b20fcf77e50c","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"35c14dbd9c4025fb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"35c14dbd9c4025fb"}} +{"transaction":{"duration":0.771667,"id":"35c14dbd9c4025fb","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055669819923,"trace_id":"35c14dbd9c4025fb55c6b20fcf77e50c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:41:09 GMT","Content-Length":"37"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.44925,"id":"32cb721f206c56de","name":"SELECT FROM customers","timestamp":1646055669838707,"trace_id":"d38510b5ce0d221f01660bfcfbbd3937","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d38510b5ce0d221f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d38510b5ce0d221f"}} +{"transaction":{"duration":0.6785,"id":"d38510b5ce0d221f","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055669838682,"trace_id":"d38510b5ce0d221f01660bfcfbbd3937","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/5677","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/5677"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.147584,"id":"70bb378d870bfbc8","name":"SELECT FROM product_types","timestamp":1646055669858101,"trace_id":"164def57bb302ca71773a126eb9d00c4","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"164def57bb302ca7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"164def57bb302ca7"}} +{"transaction":{"duration":0.351917,"id":"164def57bb302ca7","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055669858085,"trace_id":"164def57bb302ca71773a126eb9d00c4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.625125,"id":"8b71c698a7468df4","name":"SELECT FROM products","timestamp":1646055669887596,"trace_id":"8d8071831275a3ed5773adc7cbd80520","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d1ede54ac25ba990","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d1ede54ac25ba990"}} +{"transaction":{"duration":0.760417,"id":"d1ede54ac25ba990","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055669887573,"trace_id":"8d8071831275a3ed5773adc7cbd80520","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1"},"headers":{"Traceparent":"00-8d8071831275a3ed5773adc7cbd80520-d8a68745b4232023-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-8d8071831275a3ed5773adc7cbd80520-d8a68745b4232023-01","Connection":"close","User-Agent":"http.rb/5.0.4"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d8a68745b4232023","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.382084,"id":"f450d1eeedbac60f","name":"SELECT FROM product_types","timestamp":1646055669892180,"trace_id":"2c9fcbe02e5195969ce1c52449553a3e","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2e050fda6d6e8d9b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2e050fda6d6e8d9b"}} +{"transaction":{"duration":3.505125,"id":"2e050fda6d6e8d9b","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055669892163,"trace_id":"2c9fcbe02e5195969ce1c52449553a3e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-2c9fcbe02e5195969ce1c52449553a3e-0a2840bf5a999c62-01","Elastic-Apm-Traceparent":"00-2c9fcbe02e5195969ce1c52449553a3e-0a2840bf5a999c62-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"0a2840bf5a999c62","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":21.766458,"id":"c750eb5ded2b4a03","name":"Request","timestamp":1646055669876576,"trace_id":"8d8071831275a3ed5773adc7cbd80520","type":"external","action":"request","outcome":"success","parent_id":"4e7c4e48b53be075","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8d8071831275a3ed"}} +{"span":{"duration":0.126125,"id":"b2948db9a6c45843","name":"Response","timestamp":1646055669898370,"trace_id":"8d8071831275a3ed5773adc7cbd80520","type":"external","action":"response","outcome":"success","parent_id":"4e7c4e48b53be075","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8d8071831275a3ed"}} +{"span":{"duration":21.955917,"id":"4e7c4e48b53be075","name":"GET opbeans-ruby:3000","timestamp":1646055669876541,"trace_id":"8d8071831275a3ed5773adc7cbd80520","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/1","status_code":200}},"outcome":"success","parent_id":"8d8071831275a3ed","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8d8071831275a3ed"}} +{"transaction":{"duration":22.139875,"id":"8d8071831275a3ed","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055669876476,"trace_id":"8d8071831275a3ed5773adc7cbd80520","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.548458,"id":"663f1a92e24d8bc2","name":"SELECT FROM customers","timestamp":1646055669920621,"trace_id":"d1743ca663e2f6ea92f37e68569c21f2","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5cf37cd574e0177e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5cf37cd574e0177e"}} +{"span":{"duration":0.10525,"id":"f632857d00f704f0","name":"INSERT INTO order_lines","timestamp":1646055669921323,"trace_id":"d1743ca663e2f6ea92f37e68569c21f2","type":"db","action":"prepare","context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5cf37cd574e0177e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5cf37cd574e0177e"}} +{"span":{"duration":0.357542,"id":"b27e4ef9f683810c","name":"INSERT INTO orders","timestamp":1646055669921432,"trace_id":"d1743ca663e2f6ea92f37e68569c21f2","type":"db","action":"query","context":{"db":{"statement":"INSERT INTO orders (customer_id) VALUES ($1) RETURNING id","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5cf37cd574e0177e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5cf37cd574e0177e"}} +{"span":{"duration":0.23399999999999999,"id":"e842519d9afb32c9","name":"INSERT INTO order_lines","timestamp":1646055669921809,"trace_id":"d1743ca663e2f6ea92f37e68569c21f2","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5cf37cd574e0177e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5cf37cd574e0177e"}} +{"span":{"duration":0.10104199999999999,"id":"a21b9d70904c169a","name":"INSERT INTO order_lines","timestamp":1646055669922047,"trace_id":"d1743ca663e2f6ea92f37e68569c21f2","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5cf37cd574e0177e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5cf37cd574e0177e"}} +{"span":{"duration":0.05450000000000001,"id":"fe52c51192560fab","name":"INSERT INTO order_lines","timestamp":1646055669922152,"trace_id":"d1743ca663e2f6ea92f37e68569c21f2","type":"db","action":"exec","context":{"db":{"rows_affected":1,"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES($1, $2, $3)","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5cf37cd574e0177e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5cf37cd574e0177e"}} +{"transaction":{"duration":2.8908750000000003,"id":"5cf37cd574e0177e","name":"POST /api/orders/csv","span_count":{"dropped":0,"started":6},"timestamp":1646055669920290,"trace_id":"d1743ca663e2f6ea92f37e68569c21f2","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders/csv","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/csv"},"headers":{"Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Content-Type":"multipart/form-data; boundary=64f77faa32774885ac53e58384e644c2","Elastic-Apm-Traceparent":"00-d1743ca663e2f6ea92f37e68569c21f2-12c5ac1ae2a34449-01","Content-Length":"380","Accept-Encoding":"gzip, deflate","Traceparent":"00-d1743ca663e2f6ea92f37e68569c21f2-12c5ac1ae2a34449-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"customer_name":"Richard Perry","customer_email":"rperrycx@ed.gov"}},"outcome":"success","parent_id":"12c5ac1ae2a34449","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.0663750000000003,"id":"2fd1e850af3e4b37","name":"Request","timestamp":1646055669920204,"trace_id":"d1743ca663e2f6ea92f37e68569c21f2","type":"external","action":"request","outcome":"success","parent_id":"12c5ac1ae2a34449","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d1743ca663e2f6ea"}} +{"span":{"duration":0.020832999999999997,"id":"788c87ef1c878ff6","name":"Response","timestamp":1646055669923272,"trace_id":"d1743ca663e2f6ea92f37e68569c21f2","type":"external","action":"response","outcome":"success","parent_id":"12c5ac1ae2a34449","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d1743ca663e2f6ea"}} +{"span":{"duration":3.11225,"id":"12c5ac1ae2a34449","name":"POST opbeans-go:3000","timestamp":1646055669920181,"trace_id":"d1743ca663e2f6ea92f37e68569c21f2","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/csv","status_code":200}},"outcome":"success","parent_id":"d1743ca663e2f6ea","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d1743ca663e2f6ea"}} +{"transaction":{"duration":3.30275,"id":"d1743ca663e2f6ea","name":"POST /api/orders/csv","span_count":{"dropped":0,"started":3},"timestamp":1646055669920072,"trace_id":"d1743ca663e2f6ea92f37e68569c21f2","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders/csv","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/csv"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"380","Content-Type":"multipart/form-data; boundary=64f77faa32774885ac53e58384e644c2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:41:09 GMT","Content-Length":"11"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.360083,"id":"5f02b30d7c12fdfe","name":"SELECT FROM product_types","timestamp":1646055669944386,"trace_id":"db945908de6db4d62e37252d6c73ab57","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"db945908de6db4d6","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"db945908de6db4d6"}} +{"transaction":{"duration":0.630792,"id":"db945908de6db4d6","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055669944370,"trace_id":"db945908de6db4d62e37252d6c73ab57","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.2285,"id":"77c34230056960ab","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055669963590,"trace_id":"77c34230056960ab2d81418b9d711a58","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"2d81418b9d711a58","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.391042,"id":"3ca970e30d17c0b6","name":"DNS opbeans-python","timestamp":1646055669982054,"trace_id":"50d10b5b31ab327f731b45117852591e","type":"external","action":"dns","outcome":"success","parent_id":"ef67199e5a567bc1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"50d10b5b31ab327f"}} +{"span":{"duration":0.79625,"id":"3c477b59b92c8234","name":"Connect 172.23.0.11:3000","timestamp":1646055669982451,"trace_id":"50d10b5b31ab327f731b45117852591e","type":"external","action":"connect","outcome":"success","parent_id":"ef67199e5a567bc1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"50d10b5b31ab327f"}} +{"span":{"duration":57.511542,"id":"5e0748bf6a8234a3","name":"Request","timestamp":1646055669983262,"trace_id":"50d10b5b31ab327f731b45117852591e","type":"external","action":"request","outcome":"success","parent_id":"ef67199e5a567bc1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"50d10b5b31ab327f"}} +{"span":{"duration":2.343583,"id":"e7ebe7536167c072","name":"Response","timestamp":1646055670040806,"trace_id":"50d10b5b31ab327f731b45117852591e","type":"external","action":"response","outcome":"success","parent_id":"ef67199e5a567bc1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"50d10b5b31ab327f"}} +{"span":{"duration":61.17100000000001,"id":"ef67199e5a567bc1","name":"GET opbeans-python:3000","timestamp":1646055669981982,"trace_id":"50d10b5b31ab327f731b45117852591e","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"50d10b5b31ab327f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"50d10b5b31ab327f"}} +{"transaction":{"duration":61.441458,"id":"50d10b5b31ab327f","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055669981797,"trace_id":"50d10b5b31ab327f731b45117852591e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:10 GMT","Content-Type":"application/json","Content-Length":"203686","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Vary":"Cookie","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.677167,"id":"4abf9f0ca6c9cd03","name":"SELECT FROM customers","timestamp":1646055670061497,"trace_id":"0f1ef6444d9f9f21dc1658b29dc9bfc7","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"0f1ef6444d9f9f21","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"0f1ef6444d9f9f21"}} +{"transaction":{"duration":2.9853750000000003,"id":"0f1ef6444d9f9f21","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055670061472,"trace_id":"0f1ef6444d9f9f21dc1658b29dc9bfc7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.94175,"id":"b967f0b85a70a04c","name":"SELECT FROM product_types","timestamp":1646055670089381,"trace_id":"1a91ca85e2d86d88b9aefdc37c9918e3","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1a91ca85e2d86d88","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1a91ca85e2d86d88"}} +{"transaction":{"duration":1.28,"id":"1a91ca85e2d86d88","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055670089341,"trace_id":"1a91ca85e2d86d88b9aefdc37c9918e3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.703667,"id":"23864a5259b0454d","name":"DNS opbeans-node","timestamp":1646055670122432,"trace_id":"d0e010e28f8c2a3d08e78d09a4b80a55","type":"external","action":"dns","outcome":"success","parent_id":"9b738196381c8430","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"817ddb53c5761a3f"}} +{"span":{"duration":0.192084,"id":"934dc110d053b34f","name":"Connect 172.23.0.10:3000","timestamp":1646055670123142,"trace_id":"d0e010e28f8c2a3d08e78d09a4b80a55","type":"external","action":"connect","outcome":"success","parent_id":"9b738196381c8430","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"817ddb53c5761a3f"}} +{"span":{"duration":73.756833,"id":"0653df14122e1202","name":"Request","timestamp":1646055670107301,"trace_id":"57d6f99a3117f645134696f77029dc77","type":"external","action":"request","outcome":"success","parent_id":"5d0b02d822ef3adb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"524d05fa0495097b"}} +{"span":{"duration":10.082167,"id":"a4b2e02f05ccd0c4","name":"Response","timestamp":1646055670181102,"trace_id":"57d6f99a3117f645134696f77029dc77","type":"external","action":"response","outcome":"success","parent_id":"5d0b02d822ef3adb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"524d05fa0495097b"}} +{"span":{"duration":83.955333,"id":"5d0b02d822ef3adb","name":"GET opbeans-ruby:3000","timestamp":1646055670107271,"trace_id":"57d6f99a3117f645134696f77029dc77","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products","status_code":200}},"outcome":"success","parent_id":"524d05fa0495097b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"524d05fa0495097b"}} +{"transaction":{"duration":84.17445799999999,"id":"524d05fa0495097b","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055670107183,"trace_id":"57d6f99a3117f645134696f77029dc77","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-57d6f99a3117f645134696f77029dc77-15bfcda16d72ec9b-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-57d6f99a3117f645134696f77029dc77-15bfcda16d72ec9b-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Etag":"W/\"e7a2362bf423f315691b319c14409fa6\"","Referrer-Policy":"strict-origin-when-cross-origin","X-Request-Id":"b32db98a-d127-4c33-8451-98885f90078d","X-Runtime":"0.053649","X-Frame-Options":"SAMEORIGIN","X-Download-Options":"noopen","Cache-Control":"max-age=0, private, must-revalidate","X-Xss-Protection":"1; mode=block","X-Content-Type-Options":"nosniff","X-Permitted-Cross-Domain-Policies":"none","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"15bfcda16d72ec9b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":112.001083,"id":"382d16a0f37b45d1","name":"Request","timestamp":1646055670123370,"trace_id":"d0e010e28f8c2a3d08e78d09a4b80a55","type":"external","action":"request","outcome":"success","parent_id":"9b738196381c8430","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"817ddb53c5761a3f"}} +{"span":{"duration":0.162083,"id":"f858ed75694f32a1","name":"Response","timestamp":1646055670235395,"trace_id":"d0e010e28f8c2a3d08e78d09a4b80a55","type":"external","action":"response","outcome":"success","parent_id":"9b738196381c8430","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"817ddb53c5761a3f"}} +{"span":{"duration":113.173916,"id":"9b738196381c8430","name":"GET opbeans-node:3000","timestamp":1646055670122384,"trace_id":"d0e010e28f8c2a3d08e78d09a4b80a55","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"817ddb53c5761a3f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"817ddb53c5761a3f"}} +{"transaction":{"duration":113.364458,"id":"817ddb53c5761a3f","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055670122290,"trace_id":"d0e010e28f8c2a3d08e78d09a4b80a55","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Elastic-Apm-Traceparent":"00-d0e010e28f8c2a3d08e78d09a4b80a55-75f8c14fce524364-01","Traceparent":"00-d0e010e28f8c2a3d08e78d09a4b80a55-75f8c14fce524364-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:10 GMT","X-Content-Type-Options":"nosniff","X-Runtime":"0.021300","Cache-Control":"max-age=0, private, must-revalidate","Referrer-Policy":"strict-origin-when-cross-origin","X-Permitted-Cross-Domain-Policies":"none","Etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","X-Request-Id":"66882176-4d76-4067-93a3-a2f100e291ab","X-Powered-By":"Express","X-Frame-Options":"SAMEORIGIN","X-Download-Options":"noopen","Content-Type":"application/json; charset=utf-8","X-Xss-Protection":"1; mode=block"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"75f8c14fce524364","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":113.657875,"id":"56a863ce2177ba65","name":"Request","timestamp":1646055670122094,"trace_id":"d0e010e28f8c2a3d08e78d09a4b80a55","type":"external","action":"request","outcome":"success","parent_id":"75f8c14fce524364","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d0e010e28f8c2a3d"}} +{"span":{"duration":0.049875,"id":"c554ac77e6b5435b","name":"Response","timestamp":1646055670235756,"trace_id":"d0e010e28f8c2a3d08e78d09a4b80a55","type":"external","action":"response","outcome":"success","parent_id":"75f8c14fce524364","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d0e010e28f8c2a3d"}} +{"span":{"duration":113.763958,"id":"75f8c14fce524364","name":"GET opbeans-go:3000","timestamp":1646055670122043,"trace_id":"d0e010e28f8c2a3d08e78d09a4b80a55","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"d0e010e28f8c2a3d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d0e010e28f8c2a3d"}} +{"transaction":{"duration":113.978083,"id":"d0e010e28f8c2a3d","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055670121955,"trace_id":"d0e010e28f8c2a3d08e78d09a4b80a55","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Xss-Protection":"1; mode=block","Etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","X-Content-Type-Options":"nosniff","X-Permitted-Cross-Domain-Policies":"none","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"SAMEORIGIN","Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"66882176-4d76-4067-93a3-a2f100e291ab","Referrer-Policy":"strict-origin-when-cross-origin","X-Download-Options":"noopen","Date":"Mon, 28 Feb 2022 13:41:10 GMT","X-Powered-By":"Express","X-Runtime":"0.021300"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.291792,"id":"e482656eb0682994","name":"DNS opbeans-python","timestamp":1646055670254233,"trace_id":"0f19b4519b3ffcd42c67fbe0e51feebd","type":"external","action":"dns","outcome":"success","parent_id":"7dbdea287601fd53","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0f19b4519b3ffcd4"}} +{"span":{"duration":0.1295,"id":"048a14642a95302f","name":"Connect 172.23.0.11:3000","timestamp":1646055670254531,"trace_id":"0f19b4519b3ffcd42c67fbe0e51feebd","type":"external","action":"connect","outcome":"success","parent_id":"7dbdea287601fd53","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0f19b4519b3ffcd4"}} +{"span":{"duration":20.132917,"id":"5ee262dd9c778331","name":"Request","timestamp":1646055670254675,"trace_id":"0f19b4519b3ffcd42c67fbe0e51feebd","type":"external","action":"request","outcome":"success","parent_id":"7dbdea287601fd53","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0f19b4519b3ffcd4"}} +{"span":{"duration":0.287208,"id":"7e76bbe7e7f6d598","name":"Response","timestamp":1646055670274988,"trace_id":"0f19b4519b3ffcd42c67fbe0e51feebd","type":"external","action":"response","outcome":"success","parent_id":"7dbdea287601fd53","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0f19b4519b3ffcd4"}} +{"span":{"duration":21.259375000000002,"id":"7dbdea287601fd53","name":"GET opbeans-python:3000","timestamp":1646055670254017,"trace_id":"0f19b4519b3ffcd42c67fbe0e51feebd","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"0f19b4519b3ffcd4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0f19b4519b3ffcd4"}} +{"transaction":{"duration":21.553083,"id":"0f19b4519b3ffcd4","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055670253813,"trace_id":"0f19b4519b3ffcd42c67fbe0e51feebd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:41:10 GMT","Content-Type":"application/json","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"221","Vary":"Cookie","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.29279099999999997,"id":"0851c6ffbe6f5277","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055670294440,"trace_id":"0851c6ffbe6f5277e41e913a2dbb3269","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e41e913a2dbb3269","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.464166,"id":"fe2722e33ac21d06","name":"DNS opbeans-python","timestamp":1646055670319498,"trace_id":"7c506ab729ae60a43ed9fad1af17d9c6","type":"external","action":"dns","outcome":"success","parent_id":"39b762e2ac0eaf6f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7c506ab729ae60a4"}} +{"span":{"duration":0.14354099999999997,"id":"272f59b34289d797","name":"Connect 172.23.0.11:3000","timestamp":1646055670319969,"trace_id":"7c506ab729ae60a43ed9fad1af17d9c6","type":"external","action":"connect","outcome":"success","parent_id":"39b762e2ac0eaf6f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7c506ab729ae60a4"}} +{"span":{"duration":45.3345,"id":"ea792811de90ec6b","name":"Request","timestamp":1646055670320122,"trace_id":"7c506ab729ae60a43ed9fad1af17d9c6","type":"external","action":"request","outcome":"success","parent_id":"39b762e2ac0eaf6f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7c506ab729ae60a4"}} +{"span":{"duration":2.398209,"id":"ef0f27fbbbf5aab6","name":"Response","timestamp":1646055670365481,"trace_id":"7c506ab729ae60a43ed9fad1af17d9c6","type":"external","action":"response","outcome":"success","parent_id":"39b762e2ac0eaf6f","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7c506ab729ae60a4"}} +{"span":{"duration":48.442541999999996,"id":"39b762e2ac0eaf6f","name":"GET opbeans-python:3000","timestamp":1646055670319441,"trace_id":"7c506ab729ae60a43ed9fad1af17d9c6","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"7c506ab729ae60a4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7c506ab729ae60a4"}} +{"transaction":{"duration":48.898416,"id":"7c506ab729ae60a4","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055670319062,"trace_id":"7c506ab729ae60a43ed9fad1af17d9c6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Vary":"Cookie","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:41:10 GMT","Referrer-Policy":"same-origin","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.27099999999999996,"id":"e57bdbda1b59b4e4","name":"DNS opbeans-node","timestamp":1646055670385236,"trace_id":"fa3ffdcc8ee56169d6b9ce11748da9c5","type":"external","action":"dns","outcome":"success","parent_id":"9e1d50efc309710d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fa3ffdcc8ee56169"}} +{"span":{"duration":0.139458,"id":"1642896f7fff128b","name":"Connect 172.23.0.10:3000","timestamp":1646055670385515,"trace_id":"fa3ffdcc8ee56169d6b9ce11748da9c5","type":"external","action":"connect","outcome":"success","parent_id":"9e1d50efc309710d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fa3ffdcc8ee56169"}} +{"span":{"duration":16.337375,"id":"daa0826c8bf90d42","name":"Request","timestamp":1646055670385665,"trace_id":"fa3ffdcc8ee56169d6b9ce11748da9c5","type":"external","action":"request","outcome":"success","parent_id":"9e1d50efc309710d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fa3ffdcc8ee56169"}} +{"span":{"duration":0.065583,"id":"d29458fff91512fb","name":"Response","timestamp":1646055670402029,"trace_id":"fa3ffdcc8ee56169d6b9ce11748da9c5","type":"external","action":"response","outcome":"success","parent_id":"9e1d50efc309710d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fa3ffdcc8ee56169"}} +{"span":{"duration":16.90375,"id":"9e1d50efc309710d","name":"GET opbeans-node:3000","timestamp":1646055670385192,"trace_id":"fa3ffdcc8ee56169d6b9ce11748da9c5","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/2","status_code":200}},"outcome":"success","parent_id":"fa3ffdcc8ee56169","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fa3ffdcc8ee56169"}} +{"transaction":{"duration":17.321417,"id":"fa3ffdcc8ee56169","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055670384979,"trace_id":"fa3ffdcc8ee56169d6b9ce11748da9c5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:10 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"242","Etag":"W/\"f2-TrZrMcMTUtdW6GY8TQq8W/JG3iU\""},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6195,"id":"4c6daf7bc87fc90e","name":"SELECT FROM customers","timestamp":1646055670420640,"trace_id":"9d2c7a82f4bc7c5896b305fc778fdc6f","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9d2c7a82f4bc7c58","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9d2c7a82f4bc7c58"}} +{"transaction":{"duration":0.8205,"id":"9d2c7a82f4bc7c58","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055670420621,"trace_id":"9d2c7a82f4bc7c5896b305fc778fdc6f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/644","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/644"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.953541,"id":"c4ef41e1314186e6","name":"SELECT FROM customers","timestamp":1646055670439702,"trace_id":"6c0e73c27ffc05f06ffb692ab641952a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6c0e73c27ffc05f0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6c0e73c27ffc05f0"}} +{"transaction":{"duration":2.5349169999999996,"id":"6c0e73c27ffc05f0","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055670439654,"trace_id":"6c0e73c27ffc05f06ffb692ab641952a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","search":"limit=80","full":"http://opbeans-go:3000/api/products/4/customers?limit=80"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6819999999999999,"id":"ffab6e1c06bf47c1","name":"SELECT FROM customers","timestamp":1646055670462073,"trace_id":"e8da282bb28c5e79f0a4fbba6d5255a0","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c3aad18a86dd2260","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c3aad18a86dd2260"}} +{"span":{"duration":2.6280829999999997,"id":"361837de146fdf08","name":"Request","timestamp":1646055670461775,"trace_id":"e8da282bb28c5e79f0a4fbba6d5255a0","type":"external","action":"request","outcome":"success","parent_id":"5da31106f67d7cac","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e8da282bb28c5e79"}} +{"transaction":{"duration":2.371334,"id":"c3aad18a86dd2260","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055670462062,"trace_id":"e8da282bb28c5e79f0a4fbba6d5255a0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-e8da282bb28c5e79f0a4fbba6d5255a0-5da31106f67d7cac-01","Traceparent":"00-e8da282bb28c5e79f0a4fbba6d5255a0-5da31106f67d7cac-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"5da31106f67d7cac","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5427500000000001,"id":"74f3a6036ea66148","name":"Response","timestamp":1646055670464413,"trace_id":"e8da282bb28c5e79f0a4fbba6d5255a0","type":"external","action":"response","outcome":"success","parent_id":"5da31106f67d7cac","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e8da282bb28c5e79"}} +{"span":{"duration":3.2097919999999998,"id":"5da31106f67d7cac","name":"GET opbeans-go:3000","timestamp":1646055670461747,"trace_id":"e8da282bb28c5e79f0a4fbba6d5255a0","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"e8da282bb28c5e79","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e8da282bb28c5e79"}} +{"transaction":{"duration":3.479084,"id":"e8da282bb28c5e79","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055670461560,"trace_id":"e8da282bb28c5e79f0a4fbba6d5255a0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:41:10 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.33537500000000003,"id":"99f3f76abbd519c5","name":"SELECT FROM product_types","timestamp":1646055670486321,"trace_id":"5420a6ad1424b3a01eb37955f7aca5ae","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"5420a6ad1424b3a0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"5420a6ad1424b3a0"}} +{"transaction":{"duration":0.43358300000000005,"id":"5420a6ad1424b3a0","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055670486303,"trace_id":"5420a6ad1424b3a01eb37955f7aca5ae","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.9920840000000001,"id":"8325932ccd1a85d6","name":"SELECT FROM customers","timestamp":1646055670506374,"trace_id":"6e7f3be37e2c5b21b99e7510329cf0b3","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6e7f3be37e2c5b21","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6e7f3be37e2c5b21"}} +{"transaction":{"duration":4.463334000000001,"id":"6e7f3be37e2c5b21","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055670506349,"trace_id":"6e7f3be37e2c5b21b99e7510329cf0b3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","search":"limit=110","full":"http://opbeans-go:3000/api/products/6/customers?limit=110"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.531958,"id":"6c507fa2a64f123a","name":"SELECT FROM customers","timestamp":1646055670529666,"trace_id":"06be30422bb148788db6f54d811c742a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"06be30422bb14878","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"06be30422bb14878"}} +{"transaction":{"duration":0.7464999999999999,"id":"06be30422bb14878","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055670529647,"trace_id":"06be30422bb148788db6f54d811c742a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/9811","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/9811"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.7877500000000001,"id":"fef524c7d9022364","name":"SELECT FROM customers","timestamp":1646055670547219,"trace_id":"4ed09a69e04c4fa3b0277a5a3183cd62","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4ed09a69e04c4fa3","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4ed09a69e04c4fa3"}} +{"transaction":{"duration":2.1502499999999998,"id":"4ed09a69e04c4fa3","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055670547199,"trace_id":"4ed09a69e04c4fa3b0277a5a3183cd62","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","search":"limit=100","full":"http://opbeans-go:3000/api/products/4/customers?limit=100"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.7957500000000001,"id":"0a8641d5a1a24908","name":"SELECT FROM orders","timestamp":1646055670569223,"trace_id":"cb433b702d5dbfb39600bcdce1a9f50e","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"cb433b702d5dbfb3","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"cb433b702d5dbfb3"}} +{"transaction":{"duration":3.9492499999999997,"id":"cb433b702d5dbfb3","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055670569204,"trace_id":"cb433b702d5dbfb39600bcdce1a9f50e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.23875,"id":"9b19c9f53110cbdb","name":"DNS opbeans-python","timestamp":1646055670592914,"trace_id":"302c4c2e74f2deeba12559c7ecad4463","type":"external","action":"dns","outcome":"success","parent_id":"38864e98c6a329e3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"302c4c2e74f2deeb"}} +{"span":{"duration":0.113125,"id":"b8cc2b9ac0966ec6","name":"Connect 172.23.0.11:3000","timestamp":1646055670593158,"trace_id":"302c4c2e74f2deeba12559c7ecad4463","type":"external","action":"connect","outcome":"success","parent_id":"38864e98c6a329e3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"302c4c2e74f2deeb"}} +{"span":{"duration":28.700166,"id":"4c2beaf80e4c9a20","name":"Request","timestamp":1646055670593293,"trace_id":"302c4c2e74f2deeba12559c7ecad4463","type":"external","action":"request","outcome":"success","parent_id":"38864e98c6a329e3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"302c4c2e74f2deeb"}} +{"span":{"duration":0.343583,"id":"894ece4313a9fc91","name":"Response","timestamp":1646055670622018,"trace_id":"302c4c2e74f2deeba12559c7ecad4463","type":"external","action":"response","outcome":"success","parent_id":"38864e98c6a329e3","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"302c4c2e74f2deeb"}} +{"span":{"duration":29.568916,"id":"38864e98c6a329e3","name":"GET opbeans-python:3000","timestamp":1646055670592793,"trace_id":"302c4c2e74f2deeba12559c7ecad4463","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/664","status_code":200}},"outcome":"success","parent_id":"302c4c2e74f2deeb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"302c4c2e74f2deeb"}} +{"transaction":{"duration":30.011333,"id":"302c4c2e74f2deeb","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055670592611,"trace_id":"302c4c2e74f2deeba12559c7ecad4463","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/664","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/664"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:10 GMT","X-Content-Type-Options":"nosniff","Server":"gunicorn","Vary":"Cookie","Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"322","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":64.72979199999999,"id":"b0429cff8032ad60","name":"Request","timestamp":1646055670642562,"trace_id":"e0c956ac3d2ad2072f7002fd55eeef01","type":"external","action":"request","outcome":"success","parent_id":"3431ee41f68b3f6c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e0c956ac3d2ad207"}} +{"span":{"duration":0.099917,"id":"a292b4af59baeff6","name":"Response","timestamp":1646055670707316,"trace_id":"e0c956ac3d2ad2072f7002fd55eeef01","type":"external","action":"response","outcome":"success","parent_id":"3431ee41f68b3f6c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e0c956ac3d2ad207"}} +{"span":{"duration":64.891751,"id":"3431ee41f68b3f6c","name":"GET opbeans-ruby:3000","timestamp":1646055670642525,"trace_id":"e0c956ac3d2ad2072f7002fd55eeef01","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"e0c956ac3d2ad207","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e0c956ac3d2ad207"}} +{"transaction":{"duration":65.081667,"id":"e0c956ac3d2ad207","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055670642452,"trace_id":"e0c956ac3d2ad2072f7002fd55eeef01","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.8538330000000001,"id":"62408bd072279eb8","name":"SELECT FROM customers","timestamp":1646055670726402,"trace_id":"4c57d1fe5c77a6c1dbefb9b4c8324154","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4c57d1fe5c77a6c1","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4c57d1fe5c77a6c1"}} +{"transaction":{"duration":2.19575,"id":"4c57d1fe5c77a6c1","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055670726382,"trace_id":"4c57d1fe5c77a6c1dbefb9b4c8324154","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.28891700000000003,"id":"186085bcbc485858","name":"SELECT FROM products","timestamp":1646055670747197,"trace_id":"7e96418ad577d3c50b1e2af0988ca917","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7e96418ad577d3c5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7e96418ad577d3c5"}} +{"transaction":{"duration":0.513583,"id":"7e96418ad577d3c5","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055670747178,"trace_id":"7e96418ad577d3c50b1e2af0988ca917","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":36.207625,"id":"272fdc01895ba522","name":"Request","timestamp":1646055670766113,"trace_id":"23d8b49c8bfa75ffb1d3b292f31a6045","type":"external","action":"request","outcome":"success","parent_id":"4df0ef015e59bec5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"23d8b49c8bfa75ff"}} +{"span":{"duration":0.044167,"id":"4af7fd57ba4c9d5d","name":"Response","timestamp":1646055670802344,"trace_id":"23d8b49c8bfa75ffb1d3b292f31a6045","type":"external","action":"response","outcome":"success","parent_id":"4df0ef015e59bec5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"23d8b49c8bfa75ff"}} +{"span":{"duration":36.29575,"id":"4df0ef015e59bec5","name":"GET opbeans-node:3000","timestamp":1646055670766093,"trace_id":"23d8b49c8bfa75ffb1d3b292f31a6045","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/5/customers?limit=70","status_code":200}},"outcome":"success","parent_id":"23d8b49c8bfa75ff","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"23d8b49c8bfa75ff"}} +{"transaction":{"duration":36.686959,"id":"23d8b49c8bfa75ff","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055670765815,"trace_id":"23d8b49c8bfa75ffb1d3b292f31a6045","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=70","full":"http://opbeans-go:3000/api/products/5/customers?limit=70"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:10 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"2","Etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\""},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.46770900000000004,"id":"91e2320b301c53e6","name":"SELECT FROM orders","timestamp":1646055670820586,"trace_id":"7f588633c8bf5481064a25317e200215","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7f588633c8bf5481","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7f588633c8bf5481"}} +{"span":{"duration":0.449167,"id":"2acb383882cb523a","name":"SELECT FROM products","timestamp":1646055670821093,"trace_id":"7f588633c8bf5481064a25317e200215","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7f588633c8bf5481","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7f588633c8bf5481"}} +{"transaction":{"duration":1.100333,"id":"7f588633c8bf5481","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055670820568,"trace_id":"7f588633c8bf5481064a25317e200215","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/708","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/708"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.254792,"id":"7b9f283bca66b8f7","name":"SELECT FROM customers","timestamp":1646055670842466,"trace_id":"1339897a4e61865081e43678255ad2b7","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1339897a4e618650","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1339897a4e618650"}} +{"transaction":{"duration":3.150833,"id":"1339897a4e618650","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055670842448,"trace_id":"1339897a4e61865081e43678255ad2b7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.35612499999999997,"id":"2efe535794b0d19c","name":"SELECT FROM orders","timestamp":1646055670866272,"trace_id":"38cc8b471be289c700f8e893837fe7e4","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"38cc8b471be289c7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"38cc8b471be289c7"}} +{"span":{"duration":0.5545,"id":"84179738dd92f1f0","name":"SELECT FROM products","timestamp":1646055670866679,"trace_id":"38cc8b471be289c700f8e893837fe7e4","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"38cc8b471be289c7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"38cc8b471be289c7"}} +{"transaction":{"duration":1.10075,"id":"38cc8b471be289c7","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055670866255,"trace_id":"38cc8b471be289c700f8e893837fe7e4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/348","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/348"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.48820800000000003,"id":"d842ce3a426d4d30","name":"SELECT FROM orders","timestamp":1646055670885717,"trace_id":"70c1d5c827475782c93c9cc70f1b8e65","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"70c1d5c827475782","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"70c1d5c827475782"}} +{"transaction":{"duration":2.4354590000000003,"id":"70c1d5c827475782","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055670885703,"trace_id":"70c1d5c827475782c93c9cc70f1b8e65","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":117.98383299999999,"id":"d25055fee49360f5","name":"Request","timestamp":1646055670908942,"trace_id":"dfe8894f599ad3a99e82658000ca5081","type":"external","action":"request","outcome":"success","parent_id":"1268d44debb3457c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dfe8894f599ad3a9"}} +{"span":{"duration":2.439333,"id":"53953d85e05f09f4","name":"Response","timestamp":1646055671026961,"trace_id":"dfe8894f599ad3a99e82658000ca5081","type":"external","action":"response","outcome":"success","parent_id":"1268d44debb3457c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dfe8894f599ad3a9"}} +{"span":{"duration":120.482292,"id":"1268d44debb3457c","name":"GET opbeans-ruby:3000","timestamp":1646055670908922,"trace_id":"dfe8894f599ad3a99e82658000ca5081","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/830","status_code":404}},"outcome":"failure","parent_id":"dfe8894f599ad3a9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dfe8894f599ad3a9"}} +{"transaction":{"duration":120.91041700000001,"id":"dfe8894f599ad3a9","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055670908754,"trace_id":"dfe8894f599ad3a99e82658000ca5081","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/830","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/830"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"1722","Content-Type":"text/html; charset=UTF-8","X-Request-Id":"2f8a6ce2-a113-4c65-975c-e3310a3c905a","X-Runtime":"0.104294"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"transaction":{"duration":0.26475,"id":"83b484f7be934861","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055671050531,"trace_id":"83b484f7be9348617a5c5075e65b41b6","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"7a5c5075e65b41b6","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.548083,"id":"5188ac9aa4e333e3","name":"SELECT FROM orders","timestamp":1646055671069707,"trace_id":"15506b49d18e34de7876c6f9fbbf9602","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"15506b49d18e34de","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"15506b49d18e34de"}} +{"span":{"duration":0.48395900000000003,"id":"9b7c461656fadb9a","name":"SELECT FROM products","timestamp":1646055671070282,"trace_id":"15506b49d18e34de7876c6f9fbbf9602","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"15506b49d18e34de","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"15506b49d18e34de"}} +{"transaction":{"duration":1.408917,"id":"15506b49d18e34de","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055671069691,"trace_id":"15506b49d18e34de7876c6f9fbbf9602","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/584","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/584"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.2405,"id":"7507af390b5f4a8c","name":"SELECT FROM customers","timestamp":1646055671117268,"trace_id":"dd8dbe5f7f3466a2d7db41f2cb34daff","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"782826964cc091ec","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"782826964cc091ec"}} +{"transaction":{"duration":4.347958,"id":"782826964cc091ec","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055671117248,"trace_id":"dd8dbe5f7f3466a2d7db41f2cb34daff","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Connection":"close","Traceparent":"00-dd8dbe5f7f3466a2d7db41f2cb34daff-e8b999d98738ef2c-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-dd8dbe5f7f3466a2d7db41f2cb34daff-e8b999d98738ef2c-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e8b999d98738ef2c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":20.196458,"id":"2f02d9fcddffc4a0","name":"Request","timestamp":1646055671105349,"trace_id":"dd8dbe5f7f3466a2d7db41f2cb34daff","type":"external","action":"request","outcome":"success","parent_id":"be82725bc76d4b83","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"491177f0c1b1cbd5"}} +{"span":{"duration":9.635375,"id":"256e6ed628542bf5","name":"Response","timestamp":1646055671125579,"trace_id":"dd8dbe5f7f3466a2d7db41f2cb34daff","type":"external","action":"response","outcome":"success","parent_id":"be82725bc76d4b83","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"491177f0c1b1cbd5"}} +{"span":{"duration":29.924417,"id":"be82725bc76d4b83","name":"GET opbeans-node:3000","timestamp":1646055671105331,"trace_id":"dd8dbe5f7f3466a2d7db41f2cb34daff","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"491177f0c1b1cbd5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"491177f0c1b1cbd5"}} +{"span":{"duration":45.8275,"id":"1434a28f392ab1d8","name":"Request","timestamp":1646055671089547,"trace_id":"dd8dbe5f7f3466a2d7db41f2cb34daff","type":"external","action":"request","outcome":"success","parent_id":"3b288912227571cf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dd8dbe5f7f3466a2"}} +{"transaction":{"duration":30.279291999999998,"id":"491177f0c1b1cbd5","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055671105273,"trace_id":"dd8dbe5f7f3466a2d7db41f2cb34daff","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-dd8dbe5f7f3466a2d7db41f2cb34daff-e76dc914acbad42e-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-dd8dbe5f7f3466a2d7db41f2cb34daff-e76dc914acbad42e-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:41:11 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e76dc914acbad42e","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.168625,"id":"6398cb789fc56bef","name":"Response","timestamp":1646055671135381,"trace_id":"dd8dbe5f7f3466a2d7db41f2cb34daff","type":"external","action":"response","outcome":"success","parent_id":"3b288912227571cf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dd8dbe5f7f3466a2"}} +{"span":{"duration":48.058625,"id":"3b288912227571cf","name":"GET opbeans-ruby:3000","timestamp":1646055671089504,"trace_id":"dd8dbe5f7f3466a2d7db41f2cb34daff","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"dd8dbe5f7f3466a2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dd8dbe5f7f3466a2"}} +{"transaction":{"duration":48.258958,"id":"dd8dbe5f7f3466a2","name":"GET /api/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055671089384,"trace_id":"dd8dbe5f7f3466a2d7db41f2cb34daff","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5282079999999999,"id":"5fa086ead9c3a8c5","name":"DNS opbeans-python","timestamp":1646055671155527,"trace_id":"5c7f399e89007f0a83b9cbb41323a938","type":"external","action":"dns","outcome":"success","parent_id":"852e50a67f2e6513","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5c7f399e89007f0a"}} +{"span":{"duration":0.144292,"id":"b3a76447eb75c5e2","name":"Connect 172.23.0.11:3000","timestamp":1646055671156061,"trace_id":"5c7f399e89007f0a83b9cbb41323a938","type":"external","action":"connect","outcome":"success","parent_id":"852e50a67f2e6513","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5c7f399e89007f0a"}} +{"span":{"duration":133.331583,"id":"c4a803d5e084e6af","name":"Request","timestamp":1646055671156224,"trace_id":"5c7f399e89007f0a83b9cbb41323a938","type":"external","action":"request","outcome":"success","parent_id":"852e50a67f2e6513","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5c7f399e89007f0a"}} +{"span":{"duration":3.5144159999999998,"id":"04e232dbc95511fb","name":"Response","timestamp":1646055671289608,"trace_id":"5c7f399e89007f0a83b9cbb41323a938","type":"external","action":"response","outcome":"success","parent_id":"852e50a67f2e6513","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5c7f399e89007f0a"}} +{"span":{"duration":137.738125,"id":"852e50a67f2e6513","name":"GET opbeans-python:3000","timestamp":1646055671155487,"trace_id":"5c7f399e89007f0a83b9cbb41323a938","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"5c7f399e89007f0a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5c7f399e89007f0a"}} +{"transaction":{"duration":138.102584,"id":"5c7f399e89007f0a","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055671155376,"trace_id":"5c7f399e89007f0a83b9cbb41323a938","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:41:11 GMT","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Content-Type":"application/json","Content-Length":"203686"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.399125,"id":"68e0ed721df1f837","name":"DNS opbeans-node","timestamp":1646055671310461,"trace_id":"d478f728eb9e4fe6441ea3de805a223b","type":"external","action":"dns","outcome":"success","parent_id":"b386f2d33a850792","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d478f728eb9e4fe6"}} +{"span":{"duration":0.119625,"id":"6e3ad6b44af68388","name":"Connect 172.23.0.10:3000","timestamp":1646055671310864,"trace_id":"d478f728eb9e4fe6441ea3de805a223b","type":"external","action":"connect","outcome":"success","parent_id":"b386f2d33a850792","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d478f728eb9e4fe6"}} +{"span":{"duration":0.33391699999999996,"id":"e6ce3f36c13119de","name":"SELECT FROM customers","timestamp":1646055671346151,"trace_id":"d478f728eb9e4fe6441ea3de805a223b","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8292d25af6be6653","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8292d25af6be6653"}} +{"transaction":{"duration":0.573917,"id":"8292d25af6be6653","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055671345981,"trace_id":"d478f728eb9e4fe6441ea3de805a223b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/8391","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/8391"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-d478f728eb9e4fe6441ea3de805a223b-db571806820b92ce-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-d478f728eb9e4fe6441ea3de805a223b-db571806820b92ce-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"db571806820b92ce","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":47.736917,"id":"2e86560e3972073c","name":"Request","timestamp":1646055671310993,"trace_id":"d478f728eb9e4fe6441ea3de805a223b","type":"external","action":"request","outcome":"success","parent_id":"b386f2d33a850792","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d478f728eb9e4fe6"}} +{"span":{"duration":0.156334,"id":"e72b0fc6c5a8ba13","name":"Response","timestamp":1646055671358759,"trace_id":"d478f728eb9e4fe6441ea3de805a223b","type":"external","action":"response","outcome":"success","parent_id":"b386f2d33a850792","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d478f728eb9e4fe6"}} +{"span":{"duration":48.497334,"id":"b386f2d33a850792","name":"GET opbeans-node:3000","timestamp":1646055671310418,"trace_id":"d478f728eb9e4fe6441ea3de805a223b","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/8391","status_code":404}},"outcome":"failure","parent_id":"d478f728eb9e4fe6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d478f728eb9e4fe6"}} +{"transaction":{"duration":48.837125,"id":"d478f728eb9e4fe6","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055671310348,"trace_id":"d478f728eb9e4fe6441ea3de805a223b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/8391","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/8391"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:11 GMT","X-Powered-By":"Express","Content-Type":"text/plain"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"transaction":{"duration":0.646292,"id":"6095a737e8720d53","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055671380779,"trace_id":"6095a737e8720d5348b5947aabf86a99","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.28891700000000003,"id":"3b5a32c799771c90","name":"SELECT FROM product_types","timestamp":1646055671403539,"trace_id":"e50bb0ea53df606dd9d22f8dbe6d61b9","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e50bb0ea53df606d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e50bb0ea53df606d"}} +{"transaction":{"duration":0.53725,"id":"e50bb0ea53df606d","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055671403516,"trace_id":"e50bb0ea53df606dd9d22f8dbe6d61b9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.44445900000000005,"id":"8a21bff4c4dfea71","name":"DNS opbeans-python","timestamp":1646055671423896,"trace_id":"b423c930aa62b54011cf53b15a4cd36e","type":"external","action":"dns","outcome":"success","parent_id":"02201eced0c195c1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b9cd39578ba8d6a1"}} +{"span":{"duration":0.123709,"id":"23e3281e5260868a","name":"Connect 172.23.0.11:3000","timestamp":1646055671424344,"trace_id":"b423c930aa62b54011cf53b15a4cd36e","type":"external","action":"connect","outcome":"success","parent_id":"02201eced0c195c1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b9cd39578ba8d6a1"}} +{"span":{"duration":1.25925,"id":"942705b5f60a6719","name":"SELECT FROM products","timestamp":1646055671450293,"trace_id":"b423c930aa62b54011cf53b15a4cd36e","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8d4de2553afc4b34","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8d4de2553afc4b34"}} +{"transaction":{"duration":1.481833,"id":"8d4de2553afc4b34","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055671450278,"trace_id":"b423c930aa62b54011cf53b15a4cd36e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Elastic-Apm-Traceparent":"00-b423c930aa62b54011cf53b15a4cd36e-648b5d1444b5ce06-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-b423c930aa62b54011cf53b15a4cd36e-648b5d1444b5ce06-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"648b5d1444b5ce06","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":36.353542000000004,"id":"1ce7e097824b752f","name":"Request","timestamp":1646055671424478,"trace_id":"b423c930aa62b54011cf53b15a4cd36e","type":"external","action":"request","outcome":"success","parent_id":"02201eced0c195c1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b9cd39578ba8d6a1"}} +{"span":{"duration":0.09849999999999999,"id":"46dc2e71f1312ebe","name":"Response","timestamp":1646055671460855,"trace_id":"b423c930aa62b54011cf53b15a4cd36e","type":"external","action":"response","outcome":"success","parent_id":"02201eced0c195c1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b9cd39578ba8d6a1"}} +{"span":{"duration":37.090292,"id":"02201eced0c195c1","name":"GET opbeans-python:3000","timestamp":1646055671423864,"trace_id":"b423c930aa62b54011cf53b15a4cd36e","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"b9cd39578ba8d6a1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b9cd39578ba8d6a1"}} +{"transaction":{"duration":37.314125,"id":"b9cd39578ba8d6a1","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055671423830,"trace_id":"b423c930aa62b54011cf53b15a4cd36e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-b423c930aa62b54011cf53b15a4cd36e-481a3c570cd6ddad-01","Traceparent":"00-b423c930aa62b54011cf53b15a4cd36e-481a3c570cd6ddad-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Vary":"Cookie","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:41:11 GMT","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Content-Length":"411","X-Content-Type-Options":"nosniff","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"481a3c570cd6ddad","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":37.512667,"id":"9f92c55aa16c0798","name":"Request","timestamp":1646055671423718,"trace_id":"b423c930aa62b54011cf53b15a4cd36e","type":"external","action":"request","outcome":"success","parent_id":"481a3c570cd6ddad","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b423c930aa62b540"}} +{"span":{"duration":0.016583,"id":"5bc66175d67cffae","name":"Response","timestamp":1646055671461236,"trace_id":"b423c930aa62b54011cf53b15a4cd36e","type":"external","action":"response","outcome":"success","parent_id":"481a3c570cd6ddad","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b423c930aa62b540"}} +{"span":{"duration":37.553083,"id":"481a3c570cd6ddad","name":"GET opbeans-go:3000","timestamp":1646055671423700,"trace_id":"b423c930aa62b54011cf53b15a4cd36e","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"b423c930aa62b540","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b423c930aa62b540"}} +{"transaction":{"duration":37.792832999999995,"id":"b423c930aa62b540","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055671423541,"trace_id":"b423c930aa62b54011cf53b15a4cd36e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"411","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:41:11 GMT","Referrer-Policy":"same-origin","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.48208300000000004,"id":"72038a18148bbca3","name":"SELECT FROM product_types","timestamp":1646055671480233,"trace_id":"e9e9bf5c390fa6a88969c98a9f1bbcab","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e9e9bf5c390fa6a8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e9e9bf5c390fa6a8"}} +{"transaction":{"duration":0.631292,"id":"e9e9bf5c390fa6a8","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055671480215,"trace_id":"e9e9bf5c390fa6a88969c98a9f1bbcab","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.3071249999999999,"id":"0d395435f1b73085","name":"SELECT FROM products","timestamp":1646055671498792,"trace_id":"44990f336746263424c04d9435c2f0a4","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"44990f3367462634","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"44990f3367462634"}} +{"transaction":{"duration":1.422916,"id":"44990f3367462634","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055671498775,"trace_id":"44990f336746263424c04d9435c2f0a4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.790542,"id":"62497580f5a833bd","name":"SELECT FROM customers","timestamp":1646055671518322,"trace_id":"81f8d37ccf9db52f21712b506e4b486c","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"81f8d37ccf9db52f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"81f8d37ccf9db52f"}} +{"transaction":{"duration":4.5276250000000005,"id":"81f8d37ccf9db52f","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055671518297,"trace_id":"81f8d37ccf9db52f21712b506e4b486c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.32045799999999997,"id":"49715c6c860e7665","name":"DNS opbeans-python","timestamp":1646055671540657,"trace_id":"1de164745ca713adbacf3c2116caaa0b","type":"external","action":"dns","outcome":"success","parent_id":"f426dbd709405608","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1de164745ca713ad"}} +{"span":{"duration":0.240084,"id":"b09d9ea5722f7e27","name":"Connect 172.23.0.11:3000","timestamp":1646055671540983,"trace_id":"1de164745ca713adbacf3c2116caaa0b","type":"external","action":"connect","outcome":"success","parent_id":"f426dbd709405608","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1de164745ca713ad"}} +{"span":{"duration":46.328291,"id":"5eb024197c85e6ce","name":"Request","timestamp":1646055671541246,"trace_id":"1de164745ca713adbacf3c2116caaa0b","type":"external","action":"request","outcome":"success","parent_id":"f426dbd709405608","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1de164745ca713ad"}} +{"span":{"duration":2.1672089999999997,"id":"a54c83062b2dc891","name":"Response","timestamp":1646055671587598,"trace_id":"1de164745ca713adbacf3c2116caaa0b","type":"external","action":"response","outcome":"success","parent_id":"f426dbd709405608","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"1de164745ca713ad"}} +{"span":{"duration":49.195875,"id":"f426dbd709405608","name":"GET opbeans-python:3000","timestamp":1646055671540573,"trace_id":"1de164745ca713adbacf3c2116caaa0b","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"1de164745ca713ad","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"1de164745ca713ad"}} +{"transaction":{"duration":49.375333,"id":"1de164745ca713ad","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055671540463,"trace_id":"1de164745ca713adbacf3c2116caaa0b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:41:11 GMT","Content-Length":"203686","Server":"gunicorn","Content-Type":"application/json","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.255,"id":"a2b4275ed56603ce","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055671607138,"trace_id":"a2b4275ed56603ceed5f99105a6a416d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ed5f99105a6a416d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.416958,"id":"46ae9ddb79f2f2b2","name":"SELECT FROM product_types","timestamp":1646055671625250,"trace_id":"13bea35c9aeee4bfc2c73e88c761d912","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"13bea35c9aeee4bf","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"13bea35c9aeee4bf"}} +{"transaction":{"duration":0.6131249999999999,"id":"13bea35c9aeee4bf","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055671625233,"trace_id":"13bea35c9aeee4bfc2c73e88c761d912","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.318708,"id":"492cfb04a09c69b1","name":"DNS opbeans-ruby","timestamp":1646055671650439,"trace_id":"b548a72a005e4fe531f298ee7320e287","type":"external","action":"dns","outcome":"success","parent_id":"033b8c84cbd1d830","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b548a72a005e4fe5"}} +{"span":{"duration":0.1105,"id":"0cd8bcb1a0472d51","name":"Connect 172.23.0.12:3000","timestamp":1646055671650763,"trace_id":"b548a72a005e4fe531f298ee7320e287","type":"external","action":"connect","outcome":"success","parent_id":"033b8c84cbd1d830","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b548a72a005e4fe5"}} +{"span":{"duration":0.510542,"id":"710a050cfec4eab5","name":"SELECT FROM products","timestamp":1646055671665723,"trace_id":"b548a72a005e4fe531f298ee7320e287","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"af8c3d49b1b5fadf","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"af8c3d49b1b5fadf"}} +{"transaction":{"duration":0.689708,"id":"af8c3d49b1b5fadf","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055671665707,"trace_id":"b548a72a005e4fe531f298ee7320e287","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-b548a72a005e4fe531f298ee7320e287-098d8cde79333b88-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-b548a72a005e4fe531f298ee7320e287-098d8cde79333b88-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"098d8cde79333b88","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":24.93375,"id":"b59dd8f897489b44","name":"Request","timestamp":1646055671650882,"trace_id":"b548a72a005e4fe531f298ee7320e287","type":"external","action":"request","outcome":"success","parent_id":"033b8c84cbd1d830","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b548a72a005e4fe5"}} +{"span":{"duration":0.273125,"id":"efc3a4711c6eeec9","name":"Response","timestamp":1646055671675840,"trace_id":"b548a72a005e4fe531f298ee7320e287","type":"external","action":"response","outcome":"success","parent_id":"033b8c84cbd1d830","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b548a72a005e4fe5"}} +{"span":{"duration":25.720291999999997,"id":"033b8c84cbd1d830","name":"GET opbeans-ruby:3000","timestamp":1646055671650394,"trace_id":"b548a72a005e4fe531f298ee7320e287","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products","status_code":200}},"outcome":"success","parent_id":"b548a72a005e4fe5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"b548a72a005e4fe5"}} +{"transaction":{"duration":25.96275,"id":"b548a72a005e4fe5","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055671650289,"trace_id":"b548a72a005e4fe531f298ee7320e287","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.250583,"id":"8a0ec1b364aafcd8","name":"DNS opbeans-python","timestamp":1646055671698566,"trace_id":"ab044b40e80a1536396b050ba20bf3c4","type":"external","action":"dns","outcome":"success","parent_id":"afbf9447f054ba26","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e8ea62df43088d06"}} +{"span":{"duration":0.109458,"id":"24e7c5b2d5c43a17","name":"Connect 172.23.0.11:3000","timestamp":1646055671698822,"trace_id":"ab044b40e80a1536396b050ba20bf3c4","type":"external","action":"connect","outcome":"success","parent_id":"afbf9447f054ba26","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e8ea62df43088d06"}} +{"span":{"duration":15.965584000000002,"id":"e85c5e892805b661","name":"Request","timestamp":1646055671698941,"trace_id":"ab044b40e80a1536396b050ba20bf3c4","type":"external","action":"request","outcome":"success","parent_id":"afbf9447f054ba26","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e8ea62df43088d06"}} +{"span":{"duration":2.046542,"id":"2db1be49b8851b86","name":"Response","timestamp":1646055671714933,"trace_id":"ab044b40e80a1536396b050ba20bf3c4","type":"external","action":"response","outcome":"success","parent_id":"afbf9447f054ba26","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e8ea62df43088d06"}} +{"span":{"duration":18.448208,"id":"afbf9447f054ba26","name":"GET opbeans-python:3000","timestamp":1646055671698535,"trace_id":"ab044b40e80a1536396b050ba20bf3c4","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"e8ea62df43088d06","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e8ea62df43088d06"}} +{"transaction":{"duration":18.653125,"id":"e8ea62df43088d06","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055671698502,"trace_id":"ab044b40e80a1536396b050ba20bf3c4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Elastic-Apm-Traceparent":"00-ab044b40e80a1536396b050ba20bf3c4-d5956c40c74464c8-01","Traceparent":"00-ab044b40e80a1536396b050ba20bf3c4-d5956c40c74464c8-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","Content-Type":"application/json","X-Frame-Options":"DENY","Date":"Mon, 28 Feb 2022 13:41:11 GMT","Content-Length":"123"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"d5956c40c74464c8","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":18.856292,"id":"38a3715cb0022391","name":"Request","timestamp":1646055671698442,"trace_id":"ab044b40e80a1536396b050ba20bf3c4","type":"external","action":"request","outcome":"success","parent_id":"d5956c40c74464c8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ab044b40e80a1536"}} +{"span":{"duration":0.039458,"id":"c8cab58e1b18b471","name":"Response","timestamp":1646055671717304,"trace_id":"ab044b40e80a1536396b050ba20bf3c4","type":"external","action":"response","outcome":"success","parent_id":"d5956c40c74464c8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ab044b40e80a1536"}} +{"span":{"duration":18.924791,"id":"d5956c40c74464c8","name":"GET opbeans-go:3000","timestamp":1646055671698420,"trace_id":"ab044b40e80a1536396b050ba20bf3c4","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/types","status_code":200}},"outcome":"success","parent_id":"ab044b40e80a1536","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ab044b40e80a1536"}} +{"transaction":{"duration":19.071875,"id":"ab044b40e80a1536","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055671698322,"trace_id":"ab044b40e80a1536396b050ba20bf3c4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"123","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:41:11 GMT","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.924166,"id":"d4e10ad28bf5b73d","name":"SELECT FROM customers","timestamp":1646055671735393,"trace_id":"123760a9e43ce358f8e9e5c673064355","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"123760a9e43ce358","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"123760a9e43ce358"}} +{"transaction":{"duration":2.583833,"id":"123760a9e43ce358","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055671735373,"trace_id":"123760a9e43ce358f8e9e5c673064355","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.126209,"id":"7ad526cf824c8eea","name":"SELECT FROM customers","timestamp":1646055671759187,"trace_id":"bda559b3837cec49db67ef6f1c3359ef","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"bda559b3837cec49","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"bda559b3837cec49"}} +{"transaction":{"duration":2.709041,"id":"bda559b3837cec49","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055671759164,"trace_id":"bda559b3837cec49db67ef6f1c3359ef","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","search":"limit=60","full":"http://opbeans-go:3000/api/products/4/customers?limit=60"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.27379200000000004,"id":"55c225b00768bedb","name":"SELECT FROM orders","timestamp":1646055671786214,"trace_id":"137bc414b38b6e02f6d9f513263ffbdf","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"137bc414b38b6e02","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"137bc414b38b6e02"}} +{"span":{"duration":0.46079200000000003,"id":"7c09c58ddd48a52e","name":"SELECT FROM products","timestamp":1646055671786530,"trace_id":"137bc414b38b6e02f6d9f513263ffbdf","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"137bc414b38b6e02","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"137bc414b38b6e02"}} +{"transaction":{"duration":1.0412080000000001,"id":"137bc414b38b6e02","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055671786196,"trace_id":"137bc414b38b6e02f6d9f513263ffbdf","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/593","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/593"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.481958,"id":"e91cd592af09ac89","name":"SELECT FROM orders","timestamp":1646055671807798,"trace_id":"9099b33b8017911587afdaeb2464c375","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9099b33b80179115","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9099b33b80179115"}} +{"transaction":{"duration":3.149375,"id":"9099b33b80179115","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055671807781,"trace_id":"9099b33b8017911587afdaeb2464c375","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.324041,"id":"8c8e58d06a1bd266","name":"DNS opbeans-node","timestamp":1646055671837935,"trace_id":"dada5721d18eacfdc8a3a4dddf5f61cd","type":"external","action":"dns","outcome":"success","parent_id":"09302320a263c9ef","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dada5721d18eacfd"}} +{"span":{"duration":0.09624999999999999,"id":"6e58bb514ead1da5","name":"Connect 172.23.0.10:3000","timestamp":1646055671838264,"trace_id":"dada5721d18eacfdc8a3a4dddf5f61cd","type":"external","action":"connect","outcome":"success","parent_id":"09302320a263c9ef","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dada5721d18eacfd"}} +{"span":{"duration":32.5835,"id":"4a59119a3690e4cc","name":"Request","timestamp":1646055671838371,"trace_id":"dada5721d18eacfdc8a3a4dddf5f61cd","type":"external","action":"request","outcome":"success","parent_id":"09302320a263c9ef","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dada5721d18eacfd"}} +{"span":{"duration":0.138542,"id":"ae90914d7bbc894c","name":"Response","timestamp":1646055671870990,"trace_id":"dada5721d18eacfdc8a3a4dddf5f61cd","type":"external","action":"response","outcome":"success","parent_id":"09302320a263c9ef","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"dada5721d18eacfd"}} +{"span":{"duration":33.253959,"id":"09302320a263c9ef","name":"GET opbeans-node:3000","timestamp":1646055671837890,"trace_id":"dada5721d18eacfdc8a3a4dddf5f61cd","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders/727","status_code":404}},"outcome":"failure","parent_id":"dada5721d18eacfd","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"dada5721d18eacfd"}} +{"transaction":{"duration":33.719917,"id":"dada5721d18eacfd","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055671837651,"trace_id":"dada5721d18eacfdc8a3a4dddf5f61cd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/727","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/727"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Date":"Mon, 28 Feb 2022 13:41:11 GMT","Content-Length":"0"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":1.5393329999999998,"id":"9f0ea8c98e6a9000","name":"SELECT FROM customers","timestamp":1646055671907405,"trace_id":"ef3de32661185f3e1a9f0e0aef934261","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"ef3de32661185f3e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"ef3de32661185f3e"}} +{"transaction":{"duration":2.706459,"id":"ef3de32661185f3e","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055671907382,"trace_id":"ef3de32661185f3e1a9f0e0aef934261","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3/customers","port":"3000","protocol":"http","search":"limit=60","full":"http://opbeans-go:3000/api/products/3/customers?limit=60"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":3.4817080000000002,"id":"364f34fb51d1f658","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055671931430,"trace_id":"364f34fb51d1f658b589806bda72c218","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.402084,"id":"ef338004507e1c57","name":"SELECT FROM product_types","timestamp":1646055672005910,"trace_id":"dc17174ba654a7e8291de579d964d0d3","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7a042cc3ae714980","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7a042cc3ae714980"}} +{"transaction":{"duration":0.66,"id":"7a042cc3ae714980","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055672005889,"trace_id":"dc17174ba654a7e8291de579d964d0d3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-dc17174ba654a7e8291de579d964d0d3-058b00662663b4c6-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-dc17174ba654a7e8291de579d964d0d3-058b00662663b4c6-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"058b00662663b4c6","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":38.4465,"id":"95f638b779574704","name":"Request","timestamp":1646055671975968,"trace_id":"70259fceff0c9f1e46dbe996599c0801","type":"external","action":"request","outcome":"success","parent_id":"c816d773625f8d48","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"422c0e5f5386cb0a"}} +{"span":{"duration":0.054125,"id":"538feff8e8edf665","name":"Response","timestamp":1646055672014440,"trace_id":"70259fceff0c9f1e46dbe996599c0801","type":"external","action":"response","outcome":"success","parent_id":"c816d773625f8d48","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"422c0e5f5386cb0a"}} +{"span":{"duration":38.576667,"id":"c816d773625f8d48","name":"GET opbeans-node:3000","timestamp":1646055671975918,"trace_id":"70259fceff0c9f1e46dbe996599c0801","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"422c0e5f5386cb0a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"422c0e5f5386cb0a"}} +{"transaction":{"duration":38.977791999999994,"id":"422c0e5f5386cb0a","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055671975816,"trace_id":"70259fceff0c9f1e46dbe996599c0801","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-70259fceff0c9f1e46dbe996599c0801-12e0ac317c160e55-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-70259fceff0c9f1e46dbe996599c0801-12e0ac317c160e55-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Length":"944","Etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","Date":"Mon, 28 Feb 2022 13:41:11 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"12e0ac317c160e55","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":105.447292,"id":"a2f954792ed2ff54","name":"Request","timestamp":1646055671953524,"trace_id":"70259fceff0c9f1e46dbe996599c0801","type":"external","action":"request","outcome":"success","parent_id":"9c42af1d5b268866","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"70259fceff0c9f1e"}} +{"span":{"duration":0.17116599999999998,"id":"5d588477d5c3afd9","name":"Response","timestamp":1646055672059118,"trace_id":"70259fceff0c9f1e46dbe996599c0801","type":"external","action":"response","outcome":"success","parent_id":"9c42af1d5b268866","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"70259fceff0c9f1e"}} +{"span":{"duration":105.822334,"id":"9c42af1d5b268866","name":"GET opbeans-ruby:3000","timestamp":1646055671953468,"trace_id":"70259fceff0c9f1e46dbe996599c0801","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"70259fceff0c9f1e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"70259fceff0c9f1e"}} +{"transaction":{"duration":106.37825,"id":"70259fceff0c9f1e","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055671953350,"trace_id":"70259fceff0c9f1e46dbe996599c0801","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.501584,"id":"ff734a6bbcb7513e","name":"SELECT FROM orders","timestamp":1646055672079775,"trace_id":"6aa0329ea57410dd4fdbdf01064ba280","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e9e580b96ceb2c1b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e9e580b96ceb2c1b"}} +{"span":{"duration":0.547959,"id":"72d0fa24df2c4318","name":"SELECT FROM products","timestamp":1646055672080307,"trace_id":"6aa0329ea57410dd4fdbdf01064ba280","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e9e580b96ceb2c1b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e9e580b96ceb2c1b"}} +{"transaction":{"duration":1.1655840000000002,"id":"e9e580b96ceb2c1b","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055672079763,"trace_id":"6aa0329ea57410dd4fdbdf01064ba280","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/931","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/931"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-6aa0329ea57410dd4fdbdf01064ba280-bb16e3443efce077-01","Traceparent":"00-6aa0329ea57410dd4fdbdf01064ba280-bb16e3443efce077-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14, 172.23.0.9","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"bb16e3443efce077","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.2949579999999998,"id":"2e927cd2843d7a87","name":"Request","timestamp":1646055672079690,"trace_id":"6aa0329ea57410dd4fdbdf01064ba280","type":"external","action":"request","outcome":"success","parent_id":"bb16e3443efce077","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b304f01b2c3c3e16"}} +{"span":{"duration":0.138834,"id":"2a69068fe12f0d3c","name":"Response","timestamp":1646055672080986,"trace_id":"6aa0329ea57410dd4fdbdf01064ba280","type":"external","action":"response","outcome":"success","parent_id":"bb16e3443efce077","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b304f01b2c3c3e16"}} +{"span":{"duration":1.442875,"id":"bb16e3443efce077","name":"GET opbeans-go:3000","timestamp":1646055672079682,"trace_id":"6aa0329ea57410dd4fdbdf01064ba280","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/931","status_code":200}},"outcome":"success","parent_id":"b304f01b2c3c3e16","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"b304f01b2c3c3e16"}} +{"transaction":{"duration":1.500875,"id":"b304f01b2c3c3e16","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055672079656,"trace_id":"6aa0329ea57410dd4fdbdf01064ba280","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/931","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/931"},"headers":{"X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-6aa0329ea57410dd4fdbdf01064ba280-154f4ba61818cdad-01","Traceparent":"00-6aa0329ea57410dd4fdbdf01064ba280-154f4ba61818cdad-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:41:12 GMT","Content-Length":"301"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"154f4ba61818cdad","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.600208,"id":"b3dbd13fc79ce4fc","name":"Request","timestamp":1646055672079598,"trace_id":"6aa0329ea57410dd4fdbdf01064ba280","type":"external","action":"request","outcome":"success","parent_id":"154f4ba61818cdad","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6aa0329ea57410dd"}} +{"span":{"duration":0.010709,"id":"d42e86e05f830494","name":"Response","timestamp":1646055672081200,"trace_id":"6aa0329ea57410dd4fdbdf01064ba280","type":"external","action":"response","outcome":"success","parent_id":"154f4ba61818cdad","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6aa0329ea57410dd"}} +{"span":{"duration":1.630792,"id":"154f4ba61818cdad","name":"GET opbeans-go:3000","timestamp":1646055672079580,"trace_id":"6aa0329ea57410dd4fdbdf01064ba280","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders/931","status_code":200}},"outcome":"success","parent_id":"6aa0329ea57410dd","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"6aa0329ea57410dd"}} +{"transaction":{"duration":1.71675,"id":"6aa0329ea57410dd","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055672079511,"trace_id":"6aa0329ea57410dd4fdbdf01064ba280","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/931","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/931"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"301","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:41:12 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.609416,"id":"62cfe57672ea940d","name":"SELECT FROM customers","timestamp":1646055672111971,"trace_id":"335a63381bfe2758dd0c1b2a4b4041f3","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"335a63381bfe2758","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"335a63381bfe2758"}} +{"transaction":{"duration":3.9890409999999994,"id":"335a63381bfe2758","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055672111947,"trace_id":"335a63381bfe2758dd0c1b2a4b4041f3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.378791,"id":"3b6f7094a831847f","name":"SELECT FROM products","timestamp":1646055672147105,"trace_id":"951a64a293ce8415d2f74690e1cb1fa3","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"951a64a293ce8415","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"951a64a293ce8415"}} +{"transaction":{"duration":0.510833,"id":"951a64a293ce8415","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055672147085,"trace_id":"951a64a293ce8415d2f74690e1cb1fa3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":45.801874999999995,"id":"c80b921fca62383b","name":"Request","timestamp":1646055672168475,"trace_id":"e98b3c36f68afe3465170d945e38725f","type":"external","action":"request","outcome":"success","parent_id":"af8bc047af0f0d7a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e98b3c36f68afe34"}} +{"span":{"duration":0.125542,"id":"35efa4ce9c25d14a","name":"Response","timestamp":1646055672214300,"trace_id":"e98b3c36f68afe3465170d945e38725f","type":"external","action":"response","outcome":"success","parent_id":"af8bc047af0f0d7a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e98b3c36f68afe34"}} +{"span":{"duration":45.97225,"id":"af8bc047af0f0d7a","name":"GET opbeans-ruby:3000","timestamp":1646055672168454,"trace_id":"e98b3c36f68afe3465170d945e38725f","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"e98b3c36f68afe34","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e98b3c36f68afe34"}} +{"transaction":{"duration":46.180749999999996,"id":"e98b3c36f68afe34","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055672168349,"trace_id":"e98b3c36f68afe3465170d945e38725f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.382333,"id":"d0addfae04e10671","name":"DNS opbeans-python","timestamp":1646055672219918,"trace_id":"16121a2f693413bb8caba2e1fb2ce2be","type":"external","action":"dns","outcome":"success","parent_id":"09441b8efdb76a44","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f23dce43ee1bd73b"}} +{"span":{"duration":0.084583,"id":"d929c5f44e48e279","name":"Connect 172.23.0.11:3000","timestamp":1646055672220304,"trace_id":"16121a2f693413bb8caba2e1fb2ce2be","type":"external","action":"connect","outcome":"success","parent_id":"09441b8efdb76a44","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f23dce43ee1bd73b"}} +{"span":{"duration":243.884917,"id":"0a316f626e01bf8e","name":"Request","timestamp":1646055672240971,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"external","action":"request","outcome":"success","parent_id":"645f9db8012f5554","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c85bbd9359eecc91"}} +{"span":{"duration":0.106291,"id":"2c31808499cb4698","name":"Response","timestamp":1646055672484883,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"external","action":"response","outcome":"success","parent_id":"645f9db8012f5554","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c85bbd9359eecc91"}} +{"span":{"duration":244.026917,"id":"645f9db8012f5554","name":"GET opbeans-node:3000","timestamp":1646055672240964,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"c85bbd9359eecc91","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c85bbd9359eecc91"}} +{"transaction":{"duration":244.432708,"id":"c85bbd9359eecc91","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055672240917,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"http.rb/5.0.4","Elastic-Apm-Traceparent":"00-fad4efea53a135c97656e15a74cb240b-5a1b04959f969876-01","Traceparent":"00-fad4efea53a135c97656e15a74cb240b-5a1b04959f969876-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.12","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Server":"gunicorn","Content-Type":"application/json","Vary":"Cookie","Referrer-Policy":"same-origin","X-Powered-By":"Express","X-Frame-Options":"DENY","Content-Length":"309","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:41:12 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"5a1b04959f969876","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":244.595166,"id":"1c872685601949f9","name":"Request","timestamp":1646055672240843,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"external","action":"request","outcome":"success","parent_id":"5a1b04959f969876","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a18617d744e95d9e"}} +{"span":{"duration":0.019375,"id":"84189bed713c5189","name":"Response","timestamp":1646055672485444,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"external","action":"response","outcome":"success","parent_id":"5a1b04959f969876","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a18617d744e95d9e"}} +{"span":{"duration":244.63762499999999,"id":"5a1b04959f969876","name":"GET opbeans-go:3000","timestamp":1646055672240826,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"a18617d744e95d9e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a18617d744e95d9e"}} +{"transaction":{"duration":244.777875,"id":"a18617d744e95d9e","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055672240765,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Elastic-Apm-Traceparent":"00-fad4efea53a135c97656e15a74cb240b-4f6716f3da5d076b-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-fad4efea53a135c97656e15a74cb240b-4f6716f3da5d076b-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:41:12 GMT","Content-Length":"309","Server":"gunicorn","Vary":"Cookie","Referrer-Policy":"same-origin","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"4f6716f3da5d076b","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":260.368084,"id":"fd4e8f2428d71d1a","name":"Request","timestamp":1646055672232760,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"external","action":"request","outcome":"success","parent_id":"7e53c92c8fedbb31","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"30237ba4382b6171"}} +{"span":{"duration":0.093542,"id":"f70f8e785e847716","name":"Response","timestamp":1646055672493154,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"external","action":"response","outcome":"success","parent_id":"7e53c92c8fedbb31","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"30237ba4382b6171"}} +{"span":{"duration":260.493541,"id":"7e53c92c8fedbb31","name":"GET opbeans-ruby:3000","timestamp":1646055672232754,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"30237ba4382b6171","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"30237ba4382b6171"}} +{"transaction":{"duration":260.74725,"id":"30237ba4382b6171","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055672232715,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-fad4efea53a135c97656e15a74cb240b-8c1be00f368954aa-01","Traceparent":"00-fad4efea53a135c97656e15a74cb240b-8c1be00f368954aa-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"8c1be00f368954aa","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":260.853583,"id":"9d4679fe1f2e4af7","name":"Request","timestamp":1646055672232668,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"external","action":"request","outcome":"success","parent_id":"8c1be00f368954aa","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fad4efea53a135c9"}} +{"span":{"duration":0.051208000000000004,"id":"e42a322dbc120873","name":"Response","timestamp":1646055672493526,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"external","action":"response","outcome":"success","parent_id":"8c1be00f368954aa","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fad4efea53a135c9"}} +{"span":{"duration":260.929833,"id":"8c1be00f368954aa","name":"GET opbeans-go:3000","timestamp":1646055672232648,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"fad4efea53a135c9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fad4efea53a135c9"}} +{"transaction":{"duration":263.133875,"id":"fad4efea53a135c9","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055672232542,"trace_id":"fad4efea53a135c97656e15a74cb240b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:41:12 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.252375,"id":"dc1e56f40a484ae0","name":"SELECT FROM products","timestamp":1646055672513331,"trace_id":"f61414e3e8e0125faa443b91018cc261","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f61414e3e8e0125f","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f61414e3e8e0125f"}} +{"transaction":{"duration":0.485834,"id":"f61414e3e8e0125f","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055672513313,"trace_id":"f61414e3e8e0125faa443b91018cc261","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.3955,"id":"403ce8a7ac9fe53e","name":"DNS opbeans-node","timestamp":1646055672531934,"trace_id":"ef57cbf7e87361141d06e114838da23c","type":"external","action":"dns","outcome":"success","parent_id":"78736ae990fdc72c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ef57cbf7e8736114"}} +{"span":{"duration":0.11474999999999999,"id":"32cdfe762dc5f27d","name":"Connect 172.23.0.10:3000","timestamp":1646055672532334,"trace_id":"ef57cbf7e87361141d06e114838da23c","type":"external","action":"connect","outcome":"success","parent_id":"78736ae990fdc72c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ef57cbf7e8736114"}} +{"span":{"duration":20.366833,"id":"4da9d364941e0869","name":"Request","timestamp":1646055672532458,"trace_id":"ef57cbf7e87361141d06e114838da23c","type":"external","action":"request","outcome":"success","parent_id":"78736ae990fdc72c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ef57cbf7e8736114"}} +{"span":{"duration":0.05275,"id":"a000995dfd5842d1","name":"Response","timestamp":1646055672552850,"trace_id":"ef57cbf7e87361141d06e114838da23c","type":"external","action":"response","outcome":"success","parent_id":"78736ae990fdc72c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ef57cbf7e8736114"}} +{"span":{"duration":21.013792,"id":"78736ae990fdc72c","name":"GET opbeans-node:3000","timestamp":1646055672531889,"trace_id":"ef57cbf7e87361141d06e114838da23c","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/702","status_code":200}},"outcome":"success","parent_id":"ef57cbf7e8736114","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ef57cbf7e8736114"}} +{"transaction":{"duration":21.440917,"id":"ef57cbf7e8736114","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055672531715,"trace_id":"ef57cbf7e87361141d06e114838da23c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/702","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/702"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"194","Etag":"W/\"c2-uvvcFJIQeN+MuFN/ezRVBrOjCTs\"","Date":"Mon, 28 Feb 2022 13:41:12 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":40.020791,"id":"c9afaa053536e6bf","name":"Request","timestamp":1646055672571238,"trace_id":"e4799beaf81b0e4aac23221ed21cb063","type":"external","action":"request","outcome":"success","parent_id":"ea443d8ba65e2148","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e4799beaf81b0e4a"}} +{"span":{"duration":0.059459,"id":"873d83f387d30e2c","name":"Response","timestamp":1646055672611298,"trace_id":"e4799beaf81b0e4aac23221ed21cb063","type":"external","action":"response","outcome":"success","parent_id":"ea443d8ba65e2148","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e4799beaf81b0e4a"}} +{"span":{"duration":40.139708000000006,"id":"ea443d8ba65e2148","name":"GET opbeans-node:3000","timestamp":1646055672571218,"trace_id":"e4799beaf81b0e4aac23221ed21cb063","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/5688","status_code":404}},"outcome":"failure","parent_id":"e4799beaf81b0e4a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e4799beaf81b0e4a"}} +{"transaction":{"duration":40.823625,"id":"e4799beaf81b0e4a","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055672570916,"trace_id":"e4799beaf81b0e4aac23221ed21cb063","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/5688","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/5688"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"0","X-Powered-By":"Express","Date":"Mon, 28 Feb 2022 13:41:12 GMT"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":1.1439169999999999,"id":"908986b14d87fc47","name":"SELECT FROM customers","timestamp":1646055672631645,"trace_id":"c1b5b832c43ffd238b23e1569c8c2c74","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"c1b5b832c43ffd23","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"c1b5b832c43ffd23"}} +{"transaction":{"duration":2.8059589999999996,"id":"c1b5b832c43ffd23","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055672631625,"trace_id":"c1b5b832c43ffd238b23e1569c8c2c74","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.366333,"id":"39f72f1457cfe4d5","name":"SELECT FROM products","timestamp":1646055672663754,"trace_id":"a67bdcf65e4ad0d72b24aae16432c8aa","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a67bdcf65e4ad0d7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a67bdcf65e4ad0d7"}} +{"transaction":{"duration":1.568917,"id":"a67bdcf65e4ad0d7","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055672663739,"trace_id":"a67bdcf65e4ad0d72b24aae16432c8aa","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.409667,"id":"daeb65adf03090fc","name":"SELECT FROM products","timestamp":1646055672684207,"trace_id":"7e455190a5eb66345b50cbcc310ecef8","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7e455190a5eb6634","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7e455190a5eb6634"}} +{"transaction":{"duration":0.6655,"id":"7e455190a5eb6634","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055672684188,"trace_id":"7e455190a5eb66345b50cbcc310ecef8","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.403292,"id":"f019cc92cb62aa43","name":"SELECT FROM products","timestamp":1646055672704197,"trace_id":"da06af8739d5994c72c4f0b067f4e3da","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"da06af8739d5994c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"da06af8739d5994c"}} +{"transaction":{"duration":0.7201249999999999,"id":"da06af8739d5994c","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055672704168,"trace_id":"da06af8739d5994c72c4f0b067f4e3da","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.504,"id":"84e66005459c946b","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055672725405,"trace_id":"84e66005459c946b9b9fc13bce4cb60a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.5664999999999999,"id":"b233e24651d78e24","name":"DNS opbeans-python","timestamp":1646055672746504,"trace_id":"727fc838a21fe6c16017898a49aa91dc","type":"external","action":"dns","outcome":"success","parent_id":"69942cb70133bb93","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"727fc838a21fe6c1"}} +{"span":{"duration":0.148459,"id":"7edc1a0044b3a48e","name":"Connect 172.23.0.11:3000","timestamp":1646055672747077,"trace_id":"727fc838a21fe6c16017898a49aa91dc","type":"external","action":"connect","outcome":"success","parent_id":"69942cb70133bb93","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"727fc838a21fe6c1"}} +{"span":{"duration":0.824375,"id":"279e3a8c41b9f215","name":"SELECT FROM customers","timestamp":1646055674164378,"trace_id":"aebfa79c5ba9876f7160b41af54f5393","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"6d6d9d9827ffaf32","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"6d6d9d9827ffaf32"}} +{"transaction":{"duration":2.395666,"id":"6d6d9d9827ffaf32","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055674164346,"trace_id":"aebfa79c5ba9876f7160b41af54f5393","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Elastic-Apm-Traceparent":"00-aebfa79c5ba9876f7160b41af54f5393-61e18a8f90013170-01","Connection":"close","Traceparent":"00-aebfa79c5ba9876f7160b41af54f5393-61e18a8f90013170-01","Tracestate":"es=s:1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"61e18a8f90013170","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1622.2410009999999,"id":"f2cf2ef3453e4f4c","name":"Request","timestamp":1646055672747238,"trace_id":"727fc838a21fe6c16017898a49aa91dc","type":"external","action":"request","outcome":"success","parent_id":"69942cb70133bb93","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"727fc838a21fe6c1"}} +{"span":{"duration":0.142625,"id":"e8a009ef4f7c9984","name":"Response","timestamp":1646055674369532,"trace_id":"727fc838a21fe6c16017898a49aa91dc","type":"external","action":"response","outcome":"success","parent_id":"69942cb70133bb93","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"727fc838a21fe6c1"}} +{"span":{"duration":1623.224375,"id":"69942cb70133bb93","name":"GET opbeans-python:3000","timestamp":1646055672746451,"trace_id":"727fc838a21fe6c16017898a49aa91dc","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"727fc838a21fe6c1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"727fc838a21fe6c1"}} +{"transaction":{"duration":1623.652792,"id":"727fc838a21fe6c1","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055672746153,"trace_id":"727fc838a21fe6c16017898a49aa91dc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:41:14 GMT","X-Frame-Options":"DENY","Content-Type":"application/json","Content-Length":"123","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":92.785292,"id":"930e2b0b80c75464","name":"Request","timestamp":1646055674392093,"trace_id":"ee7b0bc230381bbeb19cdcb44eafaf71","type":"external","action":"request","outcome":"success","parent_id":"22e04c5cfd162343","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0a07933d638a60b9"}} +{"span":{"duration":0.386833,"id":"99a86d37a0527613","name":"Response","timestamp":1646055674484914,"trace_id":"ee7b0bc230381bbeb19cdcb44eafaf71","type":"external","action":"response","outcome":"success","parent_id":"22e04c5cfd162343","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"0a07933d638a60b9"}} +{"span":{"duration":93.219708,"id":"22e04c5cfd162343","name":"GET opbeans-node:3000","timestamp":1646055674392082,"trace_id":"ee7b0bc230381bbeb19cdcb44eafaf71","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"0a07933d638a60b9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"0a07933d638a60b9"}} +{"transaction":{"duration":93.471792,"id":"0a07933d638a60b9","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055674391990,"trace_id":"ee7b0bc230381bbeb19cdcb44eafaf71","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-ee7b0bc230381bbeb19cdcb44eafaf71-daf50c877f5fbcbe-01","Traceparent":"00-ee7b0bc230381bbeb19cdcb44eafaf71-daf50c877f5fbcbe-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:14 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"daf50c877f5fbcbe","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":93.664292,"id":"eb14a7803c4b3b37","name":"Request","timestamp":1646055674391898,"trace_id":"ee7b0bc230381bbeb19cdcb44eafaf71","type":"external","action":"request","outcome":"success","parent_id":"daf50c877f5fbcbe","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ee7b0bc230381bbe"}} +{"span":{"duration":0.078208,"id":"4788706d210b1106","name":"Response","timestamp":1646055674485571,"trace_id":"ee7b0bc230381bbeb19cdcb44eafaf71","type":"external","action":"response","outcome":"success","parent_id":"daf50c877f5fbcbe","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ee7b0bc230381bbe"}} +{"span":{"duration":93.77945799999999,"id":"daf50c877f5fbcbe","name":"GET opbeans-go:3000","timestamp":1646055674391870,"trace_id":"ee7b0bc230381bbeb19cdcb44eafaf71","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"ee7b0bc230381bbe","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ee7b0bc230381bbe"}} +{"transaction":{"duration":98.753958,"id":"ee7b0bc230381bbe","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055674391795,"trace_id":"ee7b0bc230381bbeb19cdcb44eafaf71","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:14 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.44949999999999996,"id":"6885596c29ad2d3d","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055674510109,"trace_id":"6885596c29ad2d3da81da6b22367a17c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.118792,"id":"a2266a5845d47160","name":"GET /oopsie","span_count":{"dropped":0,"started":0},"timestamp":1646055674528990,"trace_id":"a2266a5845d47160277a88f9d6f26f90","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/oopsie","port":"3000","protocol":"http","full":"http://opbeans-go:3000/oopsie"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"status_code":500},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":1.608833,"id":"9d32f4255930098c","name":"SELECT FROM product_types","timestamp":1646055674553918,"trace_id":"2ede7710a9cc012eeafd57b7714d88ea","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"2ede7710a9cc012e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"2ede7710a9cc012e"}} +{"transaction":{"duration":1.918,"id":"2ede7710a9cc012e","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055674553889,"trace_id":"2ede7710a9cc012eeafd57b7714d88ea","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.3777920000000001,"id":"30f190d27ea109f2","name":"DNS opbeans-python","timestamp":1646055674588193,"trace_id":"509c9105f82d421a2f1a1cd6fdc30730","type":"external","action":"dns","outcome":"success","parent_id":"44e9a969a8c7a75a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"509c9105f82d421a"}} +{"span":{"duration":0.34945899999999996,"id":"4acca71b7c96e3c3","name":"Connect 172.23.0.11:3000","timestamp":1646055674589586,"trace_id":"509c9105f82d421a2f1a1cd6fdc30730","type":"external","action":"connect","outcome":"success","parent_id":"44e9a969a8c7a75a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"509c9105f82d421a"}} +{"span":{"duration":1.018334,"id":"8247f719eb85f4b1","name":"SELECT FROM products","timestamp":1646055674641212,"trace_id":"509c9105f82d421a2f1a1cd6fdc30730","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"842912984de4c543","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"842912984de4c543"}} +{"transaction":{"duration":1.444666,"id":"842912984de4c543","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055674641125,"trace_id":"509c9105f82d421a2f1a1cd6fdc30730","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Traceparent":"00-509c9105f82d421a2f1a1cd6fdc30730-4838b79c04e83130-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-509c9105f82d421a2f1a1cd6fdc30730-4838b79c04e83130-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"4838b79c04e83130","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":120.85425,"id":"299febfa4e161859","name":"Request","timestamp":1646055674589977,"trace_id":"509c9105f82d421a2f1a1cd6fdc30730","type":"external","action":"request","outcome":"success","parent_id":"44e9a969a8c7a75a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"509c9105f82d421a"}} +{"span":{"duration":0.09975,"id":"219ebb5a06e6d7c6","name":"Response","timestamp":1646055674710864,"trace_id":"509c9105f82d421a2f1a1cd6fdc30730","type":"external","action":"response","outcome":"success","parent_id":"44e9a969a8c7a75a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"509c9105f82d421a"}} +{"span":{"duration":123.047167,"id":"44e9a969a8c7a75a","name":"GET opbeans-python:3000","timestamp":1646055674587917,"trace_id":"509c9105f82d421a2f1a1cd6fdc30730","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/products","status_code":200}},"outcome":"success","parent_id":"509c9105f82d421a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"509c9105f82d421a"}} +{"transaction":{"duration":123.301833,"id":"509c9105f82d421a","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055674587838,"trace_id":"509c9105f82d421a2f1a1cd6fdc30730","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY","Vary":"Cookie","Date":"Mon, 28 Feb 2022 13:41:14 GMT","Content-Length":"2134","Referrer-Policy":"same-origin","X-Content-Type-Options":"nosniff","Server":"gunicorn"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.372875,"id":"fc291dc826a39a7b","name":"DNS opbeans-node","timestamp":1646055674732734,"trace_id":"011cb4fbb9e9b4b5728ded4349d253f0","type":"external","action":"dns","outcome":"success","parent_id":"61ca0cdf8bc33dea","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"011cb4fbb9e9b4b5"}} +{"span":{"duration":0.112083,"id":"8175431b58db2888","name":"Connect 172.23.0.10:3000","timestamp":1646055674733112,"trace_id":"011cb4fbb9e9b4b5728ded4349d253f0","type":"external","action":"connect","outcome":"success","parent_id":"61ca0cdf8bc33dea","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"011cb4fbb9e9b4b5"}} +{"span":{"duration":0.302792,"id":"a3ba68d2c459f1f4","name":"DNS opbeans-node","timestamp":1646055674742493,"trace_id":"0455e2ebd391c80c3685cc462ba0a05d","type":"external","action":"dns","outcome":"success","parent_id":"394e32d46f746e41","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c63884685f69ba39"}} +{"span":{"duration":0.12629100000000001,"id":"95f22954eee7bdf3","name":"Connect 172.23.0.10:3000","timestamp":1646055674742800,"trace_id":"0455e2ebd391c80c3685cc462ba0a05d","type":"external","action":"connect","outcome":"success","parent_id":"394e32d46f746e41","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c63884685f69ba39"}} +{"span":{"duration":55.959875,"id":"1320ecd72bf6a89a","name":"Request","timestamp":1646055674742946,"trace_id":"0455e2ebd391c80c3685cc462ba0a05d","type":"external","action":"request","outcome":"success","parent_id":"394e32d46f746e41","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c63884685f69ba39"}} +{"span":{"duration":0.059417,"id":"9638c4fe73f1e5ca","name":"Response","timestamp":1646055674798937,"trace_id":"0455e2ebd391c80c3685cc462ba0a05d","type":"external","action":"response","outcome":"success","parent_id":"394e32d46f746e41","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c63884685f69ba39"}} +{"span":{"duration":56.548500000000004,"id":"394e32d46f746e41","name":"GET opbeans-node:3000","timestamp":1646055674742448,"trace_id":"0455e2ebd391c80c3685cc462ba0a05d","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"c63884685f69ba39","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c63884685f69ba39"}} +{"transaction":{"duration":56.959375,"id":"c63884685f69ba39","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055674742327,"trace_id":"0455e2ebd391c80c3685cc462ba0a05d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Connection":"close","Traceparent":"00-0455e2ebd391c80c3685cc462ba0a05d-81e33f0a5cd98fcc-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-0455e2ebd391c80c3685cc462ba0a05d-81e33f0a5cd98fcc-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Etag":"W/\"cd-pFMi1QOVY6YqWe+nwcbZVviCths\"","Date":"Mon, 28 Feb 2022 13:41:14 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"205"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"81e33f0a5cd98fcc","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":220.963917,"id":"0a157c20fe1f07b5","name":"Request","timestamp":1646055674733240,"trace_id":"011cb4fbb9e9b4b5728ded4349d253f0","type":"external","action":"request","outcome":"success","parent_id":"61ca0cdf8bc33dea","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"011cb4fbb9e9b4b5"}} +{"span":{"duration":0.408333,"id":"b2a9b3430fdd2cac","name":"Response","timestamp":1646055674954290,"trace_id":"011cb4fbb9e9b4b5728ded4349d253f0","type":"external","action":"response","outcome":"success","parent_id":"61ca0cdf8bc33dea","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"011cb4fbb9e9b4b5"}} +{"span":{"duration":222.014542,"id":"61ca0cdf8bc33dea","name":"POST opbeans-node:3000","timestamp":1646055674732685,"trace_id":"011cb4fbb9e9b4b5728ded4349d253f0","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/orders/csv","status_code":500}},"outcome":"failure","parent_id":"011cb4fbb9e9b4b5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"011cb4fbb9e9b4b5"}} +{"transaction":{"duration":222.37604199999998,"id":"011cb4fbb9e9b4b5","name":"POST /api/orders/csv","span_count":{"dropped":0,"started":5},"timestamp":1646055674732612,"trace_id":"011cb4fbb9e9b4b5728ded4349d253f0","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders/csv","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/csv"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"380","Content-Type":"multipart/form-data; boundary=e918d81daff3447dae2e76288d88f4f9","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:41:14 GMT","X-Frame-Options":"DENY","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Content-Type":"text/html","X-Powered-By":"Express","Content-Length":"145"},"status_code":500},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"failure","result":"HTTP 5xx","sample_rate":1}} +{"span":{"duration":0.301,"id":"3ae3261181a7fe24","name":"SELECT FROM customers","timestamp":1646055674981352,"trace_id":"b2352c5936351a3dfb6326643c4f309f","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"b2352c5936351a3d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"b2352c5936351a3d"}} +{"transaction":{"duration":9.20825,"id":"b2352c5936351a3d","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055674981320,"trace_id":"b2352c5936351a3dfb6326643c4f309f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":63.091959,"id":"0232ce5eca8e8999","name":"Request","timestamp":1646055675014808,"trace_id":"4de2d90778a7beeccb933d94a60c9762","type":"external","action":"request","outcome":"success","parent_id":"9d59211734c35bfb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4de2d90778a7beec"}} +{"span":{"duration":0.148833,"id":"61dd93fce4a068ee","name":"Response","timestamp":1646055675077936,"trace_id":"4de2d90778a7beeccb933d94a60c9762","type":"external","action":"response","outcome":"success","parent_id":"9d59211734c35bfb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4de2d90778a7beec"}} +{"span":{"duration":63.303290999999994,"id":"9d59211734c35bfb","name":"GET opbeans-node:3000","timestamp":1646055675014783,"trace_id":"4de2d90778a7beeccb933d94a60c9762","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/5/customers","status_code":200}},"outcome":"success","parent_id":"4de2d90778a7beec","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4de2d90778a7beec"}} +{"transaction":{"duration":63.685333,"id":"4de2d90778a7beec","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055675014618,"trace_id":"4de2d90778a7beeccb933d94a60c9762","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:15 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"2","Etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\""},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":49.765584000000004,"id":"9cc9b53cb9535ea8","name":"Request","timestamp":1646055675101755,"trace_id":"f87652dd17cca3370afeb6a2f46431ff","type":"external","action":"request","outcome":"success","parent_id":"d97f00c47f1d5551","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f87652dd17cca337"}} +{"span":{"duration":0.344584,"id":"60d66e55341ccafc","name":"Response","timestamp":1646055675151567,"trace_id":"f87652dd17cca3370afeb6a2f46431ff","type":"external","action":"response","outcome":"success","parent_id":"d97f00c47f1d5551","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f87652dd17cca337"}} +{"span":{"duration":50.1845,"id":"d97f00c47f1d5551","name":"GET opbeans-ruby:3000","timestamp":1646055675101729,"trace_id":"f87652dd17cca3370afeb6a2f46431ff","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"f87652dd17cca337","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f87652dd17cca337"}} +{"transaction":{"duration":50.623875,"id":"f87652dd17cca337","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055675101620,"trace_id":"f87652dd17cca3370afeb6a2f46431ff","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"f91db8b4-c38c-490b-abe6-b4ce2a00cac6","Content-Type":"application/json; charset=utf-8","Vary":"Accept","X-Runtime":"0.039873","Referrer-Policy":"strict-origin-when-cross-origin","X-Frame-Options":"SAMEORIGIN","X-Xss-Protection":"1; mode=block","X-Permitted-Cross-Domain-Policies":"none","Etag":"W/\"32a6f2ac22b5ec871f35104a05ba3759\""},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.35475,"id":"c5e89e31a1cd2737","name":"SELECT FROM customers","timestamp":1646055675175923,"trace_id":"d4d636dce651a3433d91cc32dae46a3c","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d4d636dce651a343","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d4d636dce651a343"}} +{"transaction":{"duration":4.8435,"id":"d4d636dce651a343","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055675175878,"trace_id":"d4d636dce651a3433d91cc32dae46a3c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=100","full":"http://opbeans-go:3000/api/products/5/customers?limit=100"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.28075,"id":"7a6ac603127d0177","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055675200865,"trace_id":"7a6ac603127d0177ee3dd9f377a49ee2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ee3dd9f377a49ee2","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.491625,"id":"19af7ee75af3a36d","name":"DNS opbeans-python","timestamp":1646055675222179,"trace_id":"8475f6e9a5ef27826415038b10c09ca9","type":"external","action":"dns","outcome":"success","parent_id":"06367647ccd5510c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8475f6e9a5ef2782"}} +{"span":{"duration":0.16162500000000002,"id":"edc79be9fe2b8623","name":"Connect 172.23.0.11:3000","timestamp":1646055675222676,"trace_id":"8475f6e9a5ef27826415038b10c09ca9","type":"external","action":"connect","outcome":"success","parent_id":"06367647ccd5510c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8475f6e9a5ef2782"}} +{"span":{"duration":87.900666,"id":"db29b5407d42c2ad","name":"Request","timestamp":1646055675222858,"trace_id":"8475f6e9a5ef27826415038b10c09ca9","type":"external","action":"request","outcome":"success","parent_id":"06367647ccd5510c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8475f6e9a5ef2782"}} +{"span":{"duration":0.125375,"id":"dd97ac6e05825906","name":"Response","timestamp":1646055675310794,"trace_id":"8475f6e9a5ef27826415038b10c09ca9","type":"external","action":"response","outcome":"success","parent_id":"06367647ccd5510c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8475f6e9a5ef2782"}} +{"span":{"duration":88.813875,"id":"06367647ccd5510c","name":"GET opbeans-python:3000","timestamp":1646055675222107,"trace_id":"8475f6e9a5ef27826415038b10c09ca9","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"8475f6e9a5ef2782","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8475f6e9a5ef2782"}} +{"transaction":{"duration":89.2125,"id":"8475f6e9a5ef2782","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055675221937,"trace_id":"8475f6e9a5ef27826415038b10c09ca9","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:41:15 GMT","Content-Type":"application/json","X-Frame-Options":"DENY","Content-Length":"128","X-Content-Type-Options":"nosniff","Vary":"Cookie","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":39.938458000000004,"id":"5e33617d74bf96de","name":"Request","timestamp":1646055675333297,"trace_id":"fb842bc119ac96fe27ba4b208528a267","type":"external","action":"request","outcome":"success","parent_id":"1a34b66339b30b26","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fb842bc119ac96fe"}} +{"span":{"duration":0.116,"id":"ccd7ae55594a6203","name":"Response","timestamp":1646055675373277,"trace_id":"fb842bc119ac96fe27ba4b208528a267","type":"external","action":"response","outcome":"success","parent_id":"1a34b66339b30b26","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"fb842bc119ac96fe"}} +{"span":{"duration":40.118333,"id":"1a34b66339b30b26","name":"GET opbeans-node:3000","timestamp":1646055675333276,"trace_id":"fb842bc119ac96fe27ba4b208528a267","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/711","status_code":200}},"outcome":"success","parent_id":"fb842bc119ac96fe","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"fb842bc119ac96fe"}} +{"transaction":{"duration":40.533500000000004,"id":"fb842bc119ac96fe","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055675333175,"trace_id":"fb842bc119ac96fe27ba4b208528a267","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/711","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/711"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Etag":"W/\"c5-N5nQJVyDbx4oFOUlFe+eOQ8jOvo\"","Date":"Mon, 28 Feb 2022 13:41:15 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"197"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.32241600000000004,"id":"ed8ec3033f8c69a5","name":"SELECT FROM customers","timestamp":1646055675391904,"trace_id":"4dc21d8ee0e4b92b065b4ec4e18a958a","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4dc21d8ee0e4b92b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4dc21d8ee0e4b92b"}} +{"transaction":{"duration":4.397667,"id":"4dc21d8ee0e4b92b","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055675391886,"trace_id":"4dc21d8ee0e4b92b065b4ec4e18a958a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.41375,"id":"422bfe1082782d74","name":"SELECT FROM customers","timestamp":1646055675418939,"trace_id":"a20c2fcc5b35505e12e8f2777cd98f07","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e429cabca5e56f7e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e429cabca5e56f7e"}} +{"transaction":{"duration":0.543916,"id":"e429cabca5e56f7e","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055675418913,"trace_id":"a20c2fcc5b35505e12e8f2777cd98f07","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/9646","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/9646"},"headers":{"Traceparent":"00-a20c2fcc5b35505e12e8f2777cd98f07-8f0b016510070b07-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.14","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate","Elastic-Apm-Traceparent":"00-a20c2fcc5b35505e12e8f2777cd98f07-8f0b016510070b07-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"8f0b016510070b07","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.700792,"id":"22659ddb3474609d","name":"Request","timestamp":1646055675418815,"trace_id":"a20c2fcc5b35505e12e8f2777cd98f07","type":"external","action":"request","outcome":"success","parent_id":"8f0b016510070b07","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a20c2fcc5b35505e"}} +{"span":{"duration":0.024416,"id":"2579a0144605ab11","name":"Response","timestamp":1646055675419516,"trace_id":"a20c2fcc5b35505e12e8f2777cd98f07","type":"external","action":"response","outcome":"success","parent_id":"8f0b016510070b07","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a20c2fcc5b35505e"}} +{"span":{"duration":0.74775,"id":"8f0b016510070b07","name":"GET opbeans-go:3000","timestamp":1646055675418793,"trace_id":"a20c2fcc5b35505e12e8f2777cd98f07","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/9646","status_code":404}},"outcome":"failure","parent_id":"a20c2fcc5b35505e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a20c2fcc5b35505e"}} +{"transaction":{"duration":0.923083,"id":"a20c2fcc5b35505e","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055675418659,"trace_id":"a20c2fcc5b35505e12e8f2777cd98f07","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/9646","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/9646"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:15 GMT","Content-Length":"0"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.375791,"id":"2c3fee762dd8e1b2","name":"SELECT FROM product_types","timestamp":1646055675452507,"trace_id":"af4f6101c3d8de03ffe602f5a91a10d0","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7161f55cbd96cab5","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7161f55cbd96cab5"}} +{"transaction":{"duration":0.485917,"id":"7161f55cbd96cab5","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055675452481,"trace_id":"af4f6101c3d8de03ffe602f5a91a10d0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Traceparent":"00-af4f6101c3d8de03ffe602f5a91a10d0-22222121d0c69955-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-af4f6101c3d8de03ffe602f5a91a10d0-22222121d0c69955-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"22222121d0c69955","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":17.038625000000003,"id":"7b4236d1de7f367c","name":"Request","timestamp":1646055675440731,"trace_id":"af4f6101c3d8de03ffe602f5a91a10d0","type":"external","action":"request","outcome":"success","parent_id":"4458666825e270ed","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"af4f6101c3d8de03"}} +{"span":{"duration":0.109583,"id":"4fbe6addef7be784","name":"Response","timestamp":1646055675457811,"trace_id":"af4f6101c3d8de03ffe602f5a91a10d0","type":"external","action":"response","outcome":"success","parent_id":"4458666825e270ed","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"af4f6101c3d8de03"}} +{"span":{"duration":17.210208,"id":"4458666825e270ed","name":"GET opbeans-node:3000","timestamp":1646055675440712,"trace_id":"af4f6101c3d8de03ffe602f5a91a10d0","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"af4f6101c3d8de03","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"af4f6101c3d8de03"}} +{"transaction":{"duration":17.384875,"id":"af4f6101c3d8de03","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055675440650,"trace_id":"af4f6101c3d8de03ffe602f5a91a10d0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:41:15 GMT","Content-Length":"37"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.466125,"id":"4df1ce859a0dc954","name":"SELECT FROM orders","timestamp":1646055675475649,"trace_id":"69a2897f002da19630cf1421f48f20dd","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"69a2897f002da196","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"69a2897f002da196"}} +{"transaction":{"duration":2.307167,"id":"69a2897f002da196","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055675475632,"trace_id":"69a2897f002da19630cf1421f48f20dd","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.352875,"id":"e2911212263e2bdc","name":"SELECT FROM product_types","timestamp":1646055675498941,"trace_id":"e8be9f3fe4b99a925c96f648fa74b2df","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e8be9f3fe4b99a92","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e8be9f3fe4b99a92"}} +{"transaction":{"duration":0.461291,"id":"e8be9f3fe4b99a92","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055675498922,"trace_id":"e8be9f3fe4b99a925c96f648fa74b2df","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.743375,"id":"c04f87f7ca37b461","name":"DNS opbeans-node","timestamp":1646055675525568,"trace_id":"9591ba4869bb5fd3a8a934420f9bb3eb","type":"external","action":"dns","outcome":"success","parent_id":"7cb094191cf96a40","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9591ba4869bb5fd3"}} +{"span":{"duration":0.465792,"id":"5ae0c288503de9f8","name":"Connect 172.23.0.10:3000","timestamp":1646055675526329,"trace_id":"9591ba4869bb5fd3a8a934420f9bb3eb","type":"external","action":"connect","outcome":"success","parent_id":"7cb094191cf96a40","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9591ba4869bb5fd3"}} +{"span":{"duration":0.693334,"id":"e5977b019003e154","name":"SELECT FROM products","timestamp":1646055675550308,"trace_id":"9591ba4869bb5fd3a8a934420f9bb3eb","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\nWHERE products.id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"9cc5c9f823d4666c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"9cc5c9f823d4666c"}} +{"transaction":{"duration":1.479792,"id":"9cc5c9f823d4666c","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055675550288,"trace_id":"9591ba4869bb5fd3a8a934420f9bb3eb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"Connection":"close","Traceparent":"00-9591ba4869bb5fd3a8a934420f9bb3eb-ff92546361c76f8e-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-9591ba4869bb5fd3a8a934420f9bb3eb-ff92546361c76f8e-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"ff92546361c76f8e","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":31.963749999999997,"id":"939f7fb62a94a1ae","name":"Request","timestamp":1646055675526824,"trace_id":"9591ba4869bb5fd3a8a934420f9bb3eb","type":"external","action":"request","outcome":"success","parent_id":"7cb094191cf96a40","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9591ba4869bb5fd3"}} +{"span":{"duration":0.092,"id":"830071dff7155f28","name":"Response","timestamp":1646055675558826,"trace_id":"9591ba4869bb5fd3a8a934420f9bb3eb","type":"external","action":"response","outcome":"success","parent_id":"7cb094191cf96a40","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9591ba4869bb5fd3"}} +{"span":{"duration":33.407125,"id":"7cb094191cf96a40","name":"GET opbeans-node:3000","timestamp":1646055675525511,"trace_id":"9591ba4869bb5fd3a8a934420f9bb3eb","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/3","status_code":200}},"outcome":"success","parent_id":"9591ba4869bb5fd3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9591ba4869bb5fd3"}} +{"transaction":{"duration":34.18075,"id":"9591ba4869bb5fd3","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055675524931,"trace_id":"9591ba4869bb5fd3a8a934420f9bb3eb","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"231","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:41:15 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.227834,"id":"c22a6f3e58a4fd9b","name":"SELECT FROM product_types","timestamp":1646055675577377,"trace_id":"939066adbb83cba932301b8daa57c64a","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"939066adbb83cba9","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"939066adbb83cba9"}} +{"transaction":{"duration":0.363875,"id":"939066adbb83cba9","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055675577361,"trace_id":"939066adbb83cba932301b8daa57c64a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.217709,"id":"7eba13d4e22fce55","name":"SELECT FROM product_types","timestamp":1646055675596371,"trace_id":"d207f7e8078399ee46d27a1b6da79022","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d207f7e8078399ee","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d207f7e8078399ee"}} +{"transaction":{"duration":0.34375,"id":"d207f7e8078399ee","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055675596354,"trace_id":"d207f7e8078399ee46d27a1b6da79022","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":6.617792,"id":"ee7607d8f93436c3","name":"DNS opbeans-python","timestamp":1646055675617623,"trace_id":"8c4520e4f568f760d79f006c2b14e385","type":"external","action":"dns","outcome":"success","parent_id":"3d60cccae3ecc3b1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":71,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func2","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"trace.go","lineno":58,"abs_path":"/usr/local/go/src/net/http/httptrace/trace.go","function":"WithClientTrace.func2","library_frame":true,"module":"net/http/httptrace"},{"filename":"lookup.go","lineno":328,"abs_path":"/usr/local/go/src/net/lookup.go","function":"(*Resolver).lookupIPAddr","library_frame":true,"module":"net"},{"filename":"ipsock.go","lineno":288,"abs_path":"/usr/local/go/src/net/ipsock.go","function":"(*Resolver).internetAddrList","library_frame":true,"module":"net"},{"filename":"dial.go","lineno":221,"abs_path":"/usr/local/go/src/net/dial.go","function":"(*Resolver).resolveAddrList","library_frame":true,"module":"net"},{"filename":"dial.go","lineno":406,"abs_path":"/usr/local/go/src/net/dial.go","function":"(*Dialer).DialContext","library_frame":true,"module":"net"},{"filename":"transport.go","lineno":1166,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*Transport).dial","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":1604,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*Transport).dialConn","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":1446,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*Transport).dialConnFor","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8c4520e4f568f760"}} +{"span":{"duration":0.15054099999999998,"id":"b17bc8ddfaf98f73","name":"Connect 172.23.0.11:3000","timestamp":1646055675624290,"trace_id":"8c4520e4f568f760d79f006c2b14e385","type":"external","action":"connect","outcome":"success","parent_id":"3d60cccae3ecc3b1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8c4520e4f568f760"}} +{"span":{"duration":0.221167,"id":"ced456395c16ef06","name":"DNS opbeans-python","timestamp":1646055675694668,"trace_id":"25ed7aa3117895fe7d016734c61183a1","type":"external","action":"dns","outcome":"success","parent_id":"1d965e7a4b6d45bf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ff6459f7a480371c"}} +{"span":{"duration":1.102458,"id":"48f342490cf43f76","name":"Connect 172.23.0.11:3000","timestamp":1646055675694894,"trace_id":"25ed7aa3117895fe7d016734c61183a1","type":"external","action":"connect","outcome":"success","parent_id":"1d965e7a4b6d45bf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ff6459f7a480371c"}} +{"span":{"duration":172.85375,"id":"8d83d4dec6d2e5d2","name":"Request","timestamp":1646055675624455,"trace_id":"8c4520e4f568f760d79f006c2b14e385","type":"external","action":"request","outcome":"success","parent_id":"3d60cccae3ecc3b1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8c4520e4f568f760"}} +{"span":{"duration":0.300833,"id":"0d51b6fb61268222","name":"Response","timestamp":1646055675797334,"trace_id":"8c4520e4f568f760d79f006c2b14e385","type":"external","action":"response","outcome":"success","parent_id":"3d60cccae3ecc3b1","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"8c4520e4f568f760"}} +{"span":{"duration":180.061625,"id":"3d60cccae3ecc3b1","name":"GET opbeans-python:3000","timestamp":1646055675617574,"trace_id":"8c4520e4f568f760d79f006c2b14e385","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"8c4520e4f568f760","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"8c4520e4f568f760"}} +{"transaction":{"duration":180.23708299999998,"id":"8c4520e4f568f760","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055675617511,"trace_id":"8c4520e4f568f760d79f006c2b14e385","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"112","Vary":"Cookie","X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:41:15 GMT","Referrer-Policy":"same-origin","Content-Type":"application/json; charset=utf-8","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.24620799999999998,"id":"58e221f07377c73d","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055675815843,"trace_id":"58e221f07377c73d3f9e30e444b85de3","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"3f9e30e444b85de3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.46133300000000005,"id":"48bf8359b866476c","name":"SELECT FROM customers","timestamp":1646055675834944,"trace_id":"4065683783192b3048c3ae78ff334e06","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4065683783192b30","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4065683783192b30"}} +{"transaction":{"duration":0.559917,"id":"4065683783192b30","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055675834920,"trace_id":"4065683783192b3048c3ae78ff334e06","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/675","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/675"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.92225,"id":"73950eedc0bb939b","name":"SELECT FROM products","timestamp":1646055675859535,"trace_id":"244c62f9b03c487d5c4430e9e6bfc1fc","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"244c62f9b03c487d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"244c62f9b03c487d"}} +{"transaction":{"duration":2.031041,"id":"244c62f9b03c487d","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055675859518,"trace_id":"244c62f9b03c487d5c4430e9e6bfc1fc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":56.413375,"id":"8d272b80afcb83d2","name":"Request","timestamp":1646055675883577,"trace_id":"9b0b9020020d81a8b063a6806f0795e3","type":"external","action":"request","outcome":"success","parent_id":"750b094607ad3e01","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9b0b9020020d81a8"}} +{"span":{"duration":0.8284590000000001,"id":"cf120200159b16ae","name":"Response","timestamp":1646055675940134,"trace_id":"9b0b9020020d81a8b063a6806f0795e3","type":"external","action":"response","outcome":"success","parent_id":"750b094607ad3e01","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9b0b9020020d81a8"}} +{"span":{"duration":57.409707999999995,"id":"750b094607ad3e01","name":"POST opbeans-ruby:3000","timestamp":1646055675883555,"trace_id":"9b0b9020020d81a8b063a6806f0795e3","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":404}},"outcome":"failure","parent_id":"9b0b9020020d81a8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9b0b9020020d81a8"}} +{"transaction":{"duration":58.214791000000005,"id":"9b0b9020020d81a8","name":"POST /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055675883443,"trace_id":"9b0b9020020d81a8b063a6806f0795e3","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"103","Content-Type":"text/plain; charset=utf-8"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Request-Id":"efae012f-e2b5-4197-a945-bd462e4a0d3b","X-Runtime":"0.045572","Content-Length":"1722","Content-Type":"text/html; charset=UTF-8"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.297041,"id":"e62cb4adcef3a466","name":"DNS opbeans-node","timestamp":1646055675969611,"trace_id":"d91c53c341d0b0b70c88715884373c72","type":"external","action":"dns","outcome":"success","parent_id":"a467791be139393c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d91c53c341d0b0b7"}} +{"span":{"duration":0.205125,"id":"d95b266cf41ce1bb","name":"Connect 172.23.0.10:3000","timestamp":1646055675969912,"trace_id":"d91c53c341d0b0b70c88715884373c72","type":"external","action":"connect","outcome":"success","parent_id":"a467791be139393c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d91c53c341d0b0b7"}} +{"span":{"duration":171.530417,"id":"f6e03e769a23ad0f","name":"Request","timestamp":1646055675970163,"trace_id":"d91c53c341d0b0b70c88715884373c72","type":"external","action":"request","outcome":"success","parent_id":"a467791be139393c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d91c53c341d0b0b7"}} +{"span":{"duration":3.509208,"id":"d1691f28000fe600","name":"Response","timestamp":1646055676141736,"trace_id":"d91c53c341d0b0b70c88715884373c72","type":"external","action":"response","outcome":"success","parent_id":"a467791be139393c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d91c53c341d0b0b7"}} +{"span":{"duration":175.69925,"id":"a467791be139393c","name":"GET opbeans-node:3000","timestamp":1646055675969551,"trace_id":"d91c53c341d0b0b70c88715884373c72","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"d91c53c341d0b0b7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d91c53c341d0b0b7"}} +{"transaction":{"duration":175.852084,"id":"d91c53c341d0b0b7","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055675969490,"trace_id":"d91c53c341d0b0b70c88715884373c72","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","Date":"Mon, 28 Feb 2022 13:41:16 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8","Content-Length":"186769"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.562416,"id":"e69a70af5baf5952","name":"SELECT FROM customers","timestamp":1646055676210649,"trace_id":"9143bcc3869ffcdcbaa8275146475b0c","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3d3de0cc8e86b650","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3d3de0cc8e86b650"}} +{"transaction":{"duration":0.685292,"id":"3d3de0cc8e86b650","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055676210615,"trace_id":"9143bcc3869ffcdcbaa8275146475b0c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/7555","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/7555"},"headers":{"Traceparent":"00-9143bcc3869ffcdcbaa8275146475b0c-9c129593f28a3f40-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-9143bcc3869ffcdcbaa8275146475b0c-9c129593f28a3f40-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"9c129593f28a3f40","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":81.192458,"id":"3f31152d1bf1dd49","name":"Request","timestamp":1646055676163615,"trace_id":"9143bcc3869ffcdcbaa8275146475b0c","type":"external","action":"request","outcome":"success","parent_id":"d0b912e6f6da3119","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9143bcc3869ffcdc"}} +{"span":{"duration":0.134833,"id":"90a8507c0cfea538","name":"Response","timestamp":1646055676244833,"trace_id":"9143bcc3869ffcdcbaa8275146475b0c","type":"external","action":"response","outcome":"success","parent_id":"d0b912e6f6da3119","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"9143bcc3869ffcdc"}} +{"span":{"duration":81.389376,"id":"d0b912e6f6da3119","name":"GET opbeans-ruby:3000","timestamp":1646055676163580,"trace_id":"9143bcc3869ffcdcbaa8275146475b0c","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/7555","status_code":404}},"outcome":"failure","parent_id":"9143bcc3869ffcdc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"9143bcc3869ffcdc"}} +{"transaction":{"duration":81.6825,"id":"9143bcc3869ffcdc","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055676163499,"trace_id":"9143bcc3869ffcdcbaa8275146475b0c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/7555","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/7555"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/plain"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.414708,"id":"89f249639f46163c","name":"SELECT FROM products","timestamp":1646055676264919,"trace_id":"7b1a285ec61980e8a52bdddbf5657bf7","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"7b1a285ec61980e8","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"7b1a285ec61980e8"}} +{"transaction":{"duration":0.602042,"id":"7b1a285ec61980e8","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055676264892,"trace_id":"7b1a285ec61980e8a52bdddbf5657bf7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.292375,"id":"6757ef64ad2c171e","name":"DNS opbeans-python","timestamp":1646055676284241,"trace_id":"da4e406e60fa1de74bd274eea9e93d3e","type":"external","action":"dns","outcome":"success","parent_id":"b730177ceb23a34e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"da4e406e60fa1de7"}} +{"span":{"duration":0.118458,"id":"42d4561bfe23bf37","name":"Connect 172.23.0.11:3000","timestamp":1646055676284538,"trace_id":"da4e406e60fa1de74bd274eea9e93d3e","type":"external","action":"connect","outcome":"success","parent_id":"b730177ceb23a34e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"da4e406e60fa1de7"}} +{"span":{"duration":1.383792,"id":"b4ec2da86d8d92b8","name":"SELECT FROM products","timestamp":1646055676673176,"trace_id":"78b73197f7d07f6dc9293a8117c15f77","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"4c7b198f8baa8692","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"4c7b198f8baa8692"}} +{"transaction":{"duration":1.499541,"id":"4c7b198f8baa8692","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055676673160,"trace_id":"78b73197f7d07f6dc9293a8117c15f77","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Traceparent":"00-78b73197f7d07f6dc9293a8117c15f77-8726c3a5f6c8d610-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-78b73197f7d07f6dc9293a8117c15f77-8726c3a5f6c8d610-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"8726c3a5f6c8d610","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.440083,"id":"0d6a8f9c32ad3422","name":"DNS opbeans-python","timestamp":1646055677166992,"trace_id":"22c93a04e0b74671d90b1252854aff0f","type":"external","action":"dns","outcome":"success","parent_id":"ebb63bf8f111ee9d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5a20e2854b42fd68"}} +{"span":{"duration":0.096416,"id":"3ddfd817f226de1c","name":"Connect 172.23.0.11:3000","timestamp":1646055677167437,"trace_id":"22c93a04e0b74671d90b1252854aff0f","type":"external","action":"connect","outcome":"success","parent_id":"ebb63bf8f111ee9d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5a20e2854b42fd68"}} +{"span":{"duration":948.988542,"id":"41527d92699031da","name":"Request","timestamp":1646055676284675,"trace_id":"da4e406e60fa1de74bd274eea9e93d3e","type":"external","action":"request","outcome":"success","parent_id":"b730177ceb23a34e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"da4e406e60fa1de7"}} +{"span":{"duration":1.5927090000000002,"id":"557ecf6e7b2066b9","name":"Response","timestamp":1646055677233689,"trace_id":"da4e406e60fa1de74bd274eea9e93d3e","type":"external","action":"response","outcome":"success","parent_id":"b730177ceb23a34e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"da4e406e60fa1de7"}} +{"span":{"duration":951.112542,"id":"b730177ceb23a34e","name":"GET opbeans-python:3000","timestamp":1646055676284172,"trace_id":"da4e406e60fa1de74bd274eea9e93d3e","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/693","status_code":200}},"outcome":"success","parent_id":"da4e406e60fa1de7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"da4e406e60fa1de7"}} +{"transaction":{"duration":951.554792,"id":"da4e406e60fa1de7","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055676283848,"trace_id":"da4e406e60fa1de74bd274eea9e93d3e","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/693","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/693"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Frame-Options":"DENY","Vary":"Cookie","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:41:17 GMT","Content-Length":"313","X-Content-Type-Options":"nosniff","Server":"gunicorn","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.30133299999999996,"id":"45ac33e28681277b","name":"SELECT FROM product_types","timestamp":1646055677253620,"trace_id":"3d8a35c6896a7425336938c3ad54fe12","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3d8a35c6896a7425","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3d8a35c6896a7425"}} +{"transaction":{"duration":0.62,"id":"3d8a35c6896a7425","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055677253599,"trace_id":"3d8a35c6896a7425336938c3ad54fe12","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/3","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/3"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":69.99075,"id":"247eb2e345def940","name":"Request","timestamp":1646055677273583,"trace_id":"7861610535e35a09dbe243282b32492a","type":"external","action":"request","outcome":"success","parent_id":"f7f40cb17f4583d7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7861610535e35a09"}} +{"span":{"duration":0.18320899999999998,"id":"fc59ad730661e64c","name":"Response","timestamp":1646055677343598,"trace_id":"7861610535e35a09dbe243282b32492a","type":"external","action":"response","outcome":"success","parent_id":"f7f40cb17f4583d7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7861610535e35a09"}} +{"span":{"duration":70.224583,"id":"f7f40cb17f4583d7","name":"GET opbeans-ruby:3000","timestamp":1646055677273557,"trace_id":"7861610535e35a09dbe243282b32492a","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"7861610535e35a09","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7861610535e35a09"}} +{"transaction":{"duration":70.48775,"id":"7861610535e35a09","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055677273451,"trace_id":"7861610535e35a09dbe243282b32492a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Download-Options":"noopen","Vary":"Accept","X-Permitted-Cross-Domain-Policies":"none","Etag":"W/\"195dc75dd23c6abbf5c85d7fd3d619d1\"","X-Frame-Options":"SAMEORIGIN","X-Xss-Protection":"1; mode=block","Referrer-Policy":"strict-origin-when-cross-origin","Content-Type":"application/json; charset=utf-8","X-Content-Type-Options":"nosniff","Cache-Control":"max-age=0, private, must-revalidate","X-Runtime":"0.061438","X-Request-Id":"e1950985-f229-45c0-b635-81cbeb4027c3"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":82.523,"id":"4d364a7afdfb8a5a","name":"Request","timestamp":1646055677362792,"trace_id":"143c90fba06c1e1d8c69cb38b584b282","type":"external","action":"request","outcome":"success","parent_id":"ad02c713282c74b6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"143c90fba06c1e1d"}} +{"span":{"duration":0.117625,"id":"4d1737c9225d9ca0","name":"Response","timestamp":1646055677445349,"trace_id":"143c90fba06c1e1d8c69cb38b584b282","type":"external","action":"response","outcome":"success","parent_id":"ad02c713282c74b6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"143c90fba06c1e1d"}} +{"span":{"duration":82.703709,"id":"ad02c713282c74b6","name":"GET opbeans-ruby:3000","timestamp":1646055677362764,"trace_id":"143c90fba06c1e1d8c69cb38b584b282","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"143c90fba06c1e1d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"143c90fba06c1e1d"}} +{"transaction":{"duration":82.950958,"id":"143c90fba06c1e1d","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055677362696,"trace_id":"143c90fba06c1e1d8c69cb38b584b282","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.32329199999999997,"id":"1749abfd784bceb2","name":"DNS opbeans-python","timestamp":1646055677467236,"trace_id":"36554ee7f52ce4ec1e758b8d14eafd15","type":"external","action":"dns","outcome":"success","parent_id":"e58d0297c4115f54","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"36554ee7f52ce4ec"}} +{"span":{"duration":0.11570799999999999,"id":"8d990ca7c3531f7f","name":"Connect 172.23.0.11:3000","timestamp":1646055677467587,"trace_id":"36554ee7f52ce4ec1e758b8d14eafd15","type":"external","action":"connect","outcome":"success","parent_id":"e58d0297c4115f54","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"36554ee7f52ce4ec"}} +{"span":{"duration":644.432667,"id":"8f6bf7961c65e79d","name":"Request","timestamp":1646055677167544,"trace_id":"22c93a04e0b74671d90b1252854aff0f","type":"external","action":"request","outcome":"success","parent_id":"ebb63bf8f111ee9d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5a20e2854b42fd68"}} +{"span":{"duration":0.43762500000000004,"id":"d8902230560d4ff0","name":"Response","timestamp":1646055677812087,"trace_id":"22c93a04e0b74671d90b1252854aff0f","type":"external","action":"response","outcome":"success","parent_id":"ebb63bf8f111ee9d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"5a20e2854b42fd68"}} +{"span":{"duration":645.579417,"id":"ebb63bf8f111ee9d","name":"GET opbeans-python:3000","timestamp":1646055677166946,"trace_id":"22c93a04e0b74671d90b1252854aff0f","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"5a20e2854b42fd68","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"5a20e2854b42fd68"}} +{"transaction":{"duration":645.855459,"id":"5a20e2854b42fd68","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055677166878,"trace_id":"22c93a04e0b74671d90b1252854aff0f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Traceparent":"00-22c93a04e0b74671d90b1252854aff0f-4c52ba5fbbc0d3f4-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-22c93a04e0b74671d90b1252854aff0f-4c52ba5fbbc0d3f4-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Server":"gunicorn","X-Frame-Options":"DENY","Vary":"Cookie","X-Content-Type-Options":"nosniff","Date":"Mon, 28 Feb 2022 13:41:17 GMT","Content-Type":"application/json","Content-Length":"221","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"4c52ba5fbbc0d3f4","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":538.079667,"id":"9eea96fad012f98d","name":"Request","timestamp":1646055677467713,"trace_id":"36554ee7f52ce4ec1e758b8d14eafd15","type":"external","action":"request","outcome":"success","parent_id":"e58d0297c4115f54","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"36554ee7f52ce4ec"}} +{"span":{"duration":0.6593330000000001,"id":"5924332ab71531d4","name":"Response","timestamp":1646055678005830,"trace_id":"36554ee7f52ce4ec1e758b8d14eafd15","type":"external","action":"response","outcome":"success","parent_id":"e58d0297c4115f54","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"36554ee7f52ce4ec"}} +{"span":{"duration":539.2938750000001,"id":"e58d0297c4115f54","name":"POST opbeans-python:3000","timestamp":1646055677467197,"trace_id":"36554ee7f52ce4ec1e758b8d14eafd15","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders/csv","status_code":200}},"outcome":"success","parent_id":"36554ee7f52ce4ec","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"36554ee7f52ce4ec"}} +{"transaction":{"duration":539.494,"id":"36554ee7f52ce4ec","name":"POST /api/orders/csv","span_count":{"dropped":0,"started":5},"timestamp":1646055677467122,"trace_id":"36554ee7f52ce4ec1e758b8d14eafd15","type":"request","context":{"request":{"method":"POST","url":{"hostname":"opbeans-go","pathname":"/api/orders/csv","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/csv"},"headers":{"Content-Type":"multipart/form-data; boundary=4c8dbcce2e8040d989aab1b0f4790726","Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Content-Length":"384"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:41:18 GMT","X-Frame-Options":"DENY","Content-Length":"2","Vary":"Cookie","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.297791,"id":"59deedfc87895148","name":"DNS opbeans-node","timestamp":1646055678028113,"trace_id":"eaebf48a8966a71455d3c726ce9ef181","type":"external","action":"dns","outcome":"success","parent_id":"98dde55443efec27","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"eaebf48a8966a714"}} +{"span":{"duration":0.107542,"id":"21a25a67981d23ab","name":"Connect 172.23.0.10:3000","timestamp":1646055678028417,"trace_id":"eaebf48a8966a71455d3c726ce9ef181","type":"external","action":"connect","outcome":"success","parent_id":"98dde55443efec27","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"eaebf48a8966a714"}} +{"span":{"duration":40.120416999999996,"id":"976c3334d94914e5","name":"Request","timestamp":1646055678111122,"trace_id":"eaebf48a8966a71455d3c726ce9ef181","type":"external","action":"request","outcome":"success","parent_id":"c13cfdcbd6cac554","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"18c06d0d83795190"}} +{"span":{"duration":0.166333,"id":"c94e234adfd10321","name":"Response","timestamp":1646055678151315,"trace_id":"eaebf48a8966a71455d3c726ce9ef181","type":"external","action":"response","outcome":"success","parent_id":"c13cfdcbd6cac554","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"18c06d0d83795190"}} +{"span":{"duration":40.376625,"id":"c13cfdcbd6cac554","name":"GET opbeans-ruby:3000","timestamp":1646055678111106,"trace_id":"eaebf48a8966a71455d3c726ce9ef181","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/321","status_code":404}},"outcome":"failure","parent_id":"18c06d0d83795190","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"18c06d0d83795190"}} +{"transaction":{"duration":41.031916,"id":"18c06d0d83795190","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055678110585,"trace_id":"eaebf48a8966a71455d3c726ce9ef181","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/321","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/321"},"headers":{"Elastic-Apm-Traceparent":"00-eaebf48a8966a71455d3c726ce9ef181-e703377534a472b5-01","Traceparent":"00-eaebf48a8966a71455d3c726ce9ef181-e703377534a472b5-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.10","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Length":"1722","Content-Type":"text/html; charset=UTF-8","X-Request-Id":"3f980541-ac7a-474d-b935-6a8bae3aa05f","X-Runtime":"0.027940"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e703377534a472b5","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":41.74675,"id":"aa0db2e6b7c7454f","name":"Request","timestamp":1646055678109984,"trace_id":"eaebf48a8966a71455d3c726ce9ef181","type":"external","action":"request","outcome":"success","parent_id":"e703377534a472b5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"00d2c8424708dc45"}} +{"span":{"duration":0.024083,"id":"cbadf267a88025f5","name":"Response","timestamp":1646055678151742,"trace_id":"eaebf48a8966a71455d3c726ce9ef181","type":"external","action":"response","outcome":"success","parent_id":"e703377534a472b5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"00d2c8424708dc45"}} +{"span":{"duration":41.804,"id":"e703377534a472b5","name":"GET opbeans-go:3000","timestamp":1646055678109963,"trace_id":"eaebf48a8966a71455d3c726ce9ef181","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/321","status_code":404}},"outcome":"failure","parent_id":"00d2c8424708dc45","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"00d2c8424708dc45"}} +{"transaction":{"duration":42.073667,"id":"00d2c8424708dc45","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055678109756,"trace_id":"eaebf48a8966a71455d3c726ce9ef181","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/321","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/321"},"headers":{"Traceparent":"00-eaebf48a8966a71455d3c726ce9ef181-269d5ed467a005e6-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-eaebf48a8966a71455d3c726ce9ef181-269d5ed467a005e6-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Request-Id":"3f980541-ac7a-474d-b935-6a8bae3aa05f","X-Runtime":"0.027940","Date":"Mon, 28 Feb 2022 13:41:18 GMT","Content-Length":"1722","Content-Type":"text/html; charset=UTF-8"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"269d5ed467a005e6","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":175.987042,"id":"906713d349e057af","name":"Request","timestamp":1646055678028541,"trace_id":"eaebf48a8966a71455d3c726ce9ef181","type":"external","action":"request","outcome":"success","parent_id":"98dde55443efec27","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"eaebf48a8966a714"}} +{"span":{"duration":0.137959,"id":"04e51320fcb788c4","name":"Response","timestamp":1646055678204561,"trace_id":"eaebf48a8966a71455d3c726ce9ef181","type":"external","action":"response","outcome":"success","parent_id":"98dde55443efec27","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"eaebf48a8966a714"}} +{"span":{"duration":176.63320800000002,"id":"98dde55443efec27","name":"GET opbeans-node:3000","timestamp":1646055678028066,"trace_id":"eaebf48a8966a71455d3c726ce9ef181","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/customers/321","status_code":404}},"outcome":"failure","parent_id":"eaebf48a8966a714","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"eaebf48a8966a714"}} +{"transaction":{"duration":176.84325,"id":"eaebf48a8966a714","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055678027959,"trace_id":"eaebf48a8966a71455d3c726ce9ef181","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/321","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/321"},"headers":{"Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Runtime":"0.027940","X-Powered-By":"Express","Content-Length":"1722","Content-Type":"text/html; charset=UTF-8","Date":"Mon, 28 Feb 2022 13:41:18 GMT","X-Request-Id":"3f980541-ac7a-474d-b935-6a8bae3aa05f"},"status_code":404},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 4xx","sample_rate":1}} +{"span":{"duration":0.419542,"id":"4c176fedf040d8f6","name":"DNS opbeans-node","timestamp":1646055678226958,"trace_id":"c3f83f5dd10c66b7964c72a5b98d2018","type":"external","action":"dns","outcome":"success","parent_id":"72f260a911107461","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c3f83f5dd10c66b7"}} +{"span":{"duration":0.12466699999999999,"id":"30cbdd1f9b225bce","name":"Connect 172.23.0.10:3000","timestamp":1646055678227382,"trace_id":"c3f83f5dd10c66b7964c72a5b98d2018","type":"external","action":"connect","outcome":"success","parent_id":"72f260a911107461","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c3f83f5dd10c66b7"}} +{"span":{"duration":31.793875,"id":"5b73910a73641cd0","name":"Request","timestamp":1646055678379170,"trace_id":"c3f83f5dd10c66b7964c72a5b98d2018","type":"external","action":"request","outcome":"success","parent_id":"6bc97875dcb24364","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"864c33f63aa46f8a"}} +{"span":{"duration":0.373375,"id":"a94a44b4685ff49a","name":"Response","timestamp":1646055678411081,"trace_id":"c3f83f5dd10c66b7964c72a5b98d2018","type":"external","action":"response","outcome":"success","parent_id":"6bc97875dcb24364","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"864c33f63aa46f8a"}} +{"span":{"duration":32.312459000000004,"id":"6bc97875dcb24364","name":"GET opbeans-ruby:3000","timestamp":1646055678379143,"trace_id":"c3f83f5dd10c66b7964c72a5b98d2018","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"864c33f63aa46f8a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"864c33f63aa46f8a"}} +{"transaction":{"duration":32.763,"id":"864c33f63aa46f8a","name":"GET /api/types/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055678378803,"trace_id":"c3f83f5dd10c66b7964c72a5b98d2018","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Traceparent":"00-c3f83f5dd10c66b7964c72a5b98d2018-e6c6585d05b68193-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-c3f83f5dd10c66b7964c72a5b98d2018-e6c6585d05b68193-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"X-Runtime":"0.022954","X-Content-Type-Options":"nosniff","Referrer-Policy":"strict-origin-when-cross-origin","Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"af351e4a-82bd-439b-befd-a394623f28b7","X-Xss-Protection":"1; mode=block","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","Content-Type":"application/json; charset=utf-8","Etag":"W/\"86dca956c4d935f7a1a446036838b927\"","X-Frame-Options":"SAMEORIGIN"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e6c6585d05b68193","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":190.270625,"id":"31007b75493b50c9","name":"Request","timestamp":1646055678227516,"trace_id":"c3f83f5dd10c66b7964c72a5b98d2018","type":"external","action":"request","outcome":"success","parent_id":"72f260a911107461","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c3f83f5dd10c66b7"}} +{"span":{"duration":2.295334,"id":"e9662d68ebcc5acc","name":"Response","timestamp":1646055678417818,"trace_id":"c3f83f5dd10c66b7964c72a5b98d2018","type":"external","action":"response","outcome":"success","parent_id":"72f260a911107461","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c3f83f5dd10c66b7"}} +{"span":{"duration":193.205125,"id":"72f260a911107461","name":"GET opbeans-node:3000","timestamp":1646055678226912,"trace_id":"c3f83f5dd10c66b7964c72a5b98d2018","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/types/2","status_code":200}},"outcome":"success","parent_id":"c3f83f5dd10c66b7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c3f83f5dd10c66b7"}} +{"transaction":{"duration":193.4725,"id":"c3f83f5dd10c66b7","name":"GET /api/types/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055678226733,"trace_id":"c3f83f5dd10c66b7964c72a5b98d2018","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"X-Runtime":"0.022954","Referrer-Policy":"strict-origin-when-cross-origin","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","X-Powered-By":"Express","X-Request-Id":"af351e4a-82bd-439b-befd-a394623f28b7","Cache-Control":"max-age=0, private, must-revalidate","X-Download-Options":"noopen","Content-Type":"application/json; charset=utf-8","X-Xss-Protection":"1; mode=block","Date":"Mon, 28 Feb 2022 13:41:18 GMT","Etag":"W/\"86dca956c4d935f7a1a446036838b927\"","X-Permitted-Cross-Domain-Policies":"none"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.417958,"id":"c6353e45e5145cb1","name":"SELECT FROM products","timestamp":1646055678438334,"trace_id":"d0d8e0d81e36fe1e9057d83f94ee76b1","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"d0d8e0d81e36fe1e","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"d0d8e0d81e36fe1e"}} +{"transaction":{"duration":0.7267089999999999,"id":"d0d8e0d81e36fe1e","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055678438258,"trace_id":"d0d8e0d81e36fe1e9057d83f94ee76b1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.34450000000000003,"id":"ccee2ef15048749c","name":"DNS opbeans-node","timestamp":1646055678457538,"trace_id":"d3c917230c2747a3db213f9573230734","type":"external","action":"dns","outcome":"success","parent_id":"e4a1e1175a66eb24","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d3c917230c2747a3"}} +{"span":{"duration":0.094166,"id":"f442e6bdac3e118a","name":"Connect 172.23.0.10:3000","timestamp":1646055678457887,"trace_id":"d3c917230c2747a3db213f9573230734","type":"external","action":"connect","outcome":"success","parent_id":"e4a1e1175a66eb24","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d3c917230c2747a3"}} +{"span":{"duration":42.7085,"id":"7cd715cf58420a29","name":"Request","timestamp":1646055678457992,"trace_id":"d3c917230c2747a3db213f9573230734","type":"external","action":"request","outcome":"success","parent_id":"e4a1e1175a66eb24","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d3c917230c2747a3"}} +{"span":{"duration":0.06129199999999999,"id":"4485bef968e03847","name":"Response","timestamp":1646055678500726,"trace_id":"d3c917230c2747a3db213f9573230734","type":"external","action":"response","outcome":"success","parent_id":"e4a1e1175a66eb24","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d3c917230c2747a3"}} +{"span":{"duration":43.299416,"id":"e4a1e1175a66eb24","name":"GET opbeans-node:3000","timestamp":1646055678457489,"trace_id":"d3c917230c2747a3db213f9573230734","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"d3c917230c2747a3","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d3c917230c2747a3"}} +{"transaction":{"duration":43.635584,"id":"d3c917230c2747a3","name":"GET /api/products/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055678457285,"trace_id":"d3c917230c2747a3db213f9573230734","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"275","Etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","Date":"Mon, 28 Feb 2022 13:41:18 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.26854100000000003,"id":"18adb1a676fca677","name":"DNS opbeans-python","timestamp":1646055678520607,"trace_id":"aa291681dba95417de41957ec2169230","type":"external","action":"dns","outcome":"success","parent_id":"e55b1c044ba086b5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aa291681dba95417"}} +{"span":{"duration":0.169042,"id":"b4c7b6a59f350678","name":"Connect 172.23.0.11:3000","timestamp":1646055678520879,"trace_id":"aa291681dba95417de41957ec2169230","type":"external","action":"connect","outcome":"success","parent_id":"e55b1c044ba086b5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aa291681dba95417"}} +{"span":{"duration":46.937375,"id":"e022ee06d322816b","name":"Request","timestamp":1646055678521057,"trace_id":"aa291681dba95417de41957ec2169230","type":"external","action":"request","outcome":"success","parent_id":"e55b1c044ba086b5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aa291681dba95417"}} +{"span":{"duration":4.250917,"id":"36825f8bc18aa415","name":"Response","timestamp":1646055678568195,"trace_id":"aa291681dba95417de41957ec2169230","type":"external","action":"response","outcome":"success","parent_id":"e55b1c044ba086b5","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"aa291681dba95417"}} +{"span":{"duration":51.92525,"id":"e55b1c044ba086b5","name":"GET opbeans-python:3000","timestamp":1646055678520525,"trace_id":"aa291681dba95417de41957ec2169230","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers","status_code":200}},"outcome":"success","parent_id":"aa291681dba95417","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"aa291681dba95417"}} +{"transaction":{"duration":52.135584,"id":"aa291681dba95417","name":"GET /api/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055678520428,"trace_id":"aa291681dba95417de41957ec2169230","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Length":"203686","Server":"gunicorn","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Vary":"Cookie","Date":"Mon, 28 Feb 2022 13:41:18 GMT","Content-Type":"application/json","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.6921660000000001,"id":"37f2989c502656dc","name":"DNS opbeans-ruby","timestamp":1646055678643560,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"external","action":"dns","outcome":"success","parent_id":"26458e3aaefb2eb7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"960c795f6503f0e0"}} +{"span":{"duration":0.442375,"id":"6f903b179c5bc28f","name":"Connect 172.23.0.12:3000","timestamp":1646055678644265,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"external","action":"connect","outcome":"success","parent_id":"26458e3aaefb2eb7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"960c795f6503f0e0"}} +{"span":{"duration":0.934083,"id":"e716cac33467344f","name":"DNS opbeans-python","timestamp":1646055678664385,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"external","action":"dns","outcome":"success","parent_id":"05824204bad05956","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"20f0ca410aac94a4"}} +{"span":{"duration":0.132875,"id":"6674dc46d05a1d20","name":"Connect 172.23.0.11:3000","timestamp":1646055678665328,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"external","action":"connect","outcome":"success","parent_id":"05824204bad05956","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"20f0ca410aac94a4"}} +{"span":{"duration":31.382542,"id":"9735bf72cdf9a250","name":"Request","timestamp":1646055678665474,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"external","action":"request","outcome":"success","parent_id":"05824204bad05956","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"20f0ca410aac94a4"}} +{"span":{"duration":1.2460419999999999,"id":"9213e1354c7a3a35","name":"Response","timestamp":1646055678696895,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"external","action":"response","outcome":"success","parent_id":"05824204bad05956","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"20f0ca410aac94a4"}} +{"span":{"duration":33.809209,"id":"05824204bad05956","name":"GET opbeans-python:3000","timestamp":1646055678664333,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"20f0ca410aac94a4","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"20f0ca410aac94a4"}} +{"transaction":{"duration":34.120958,"id":"20f0ca410aac94a4","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055678664248,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-e0810cf1423288ce8686af5da3a134a0-bf77702c7dc80879-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-e0810cf1423288ce8686af5da3a134a0-bf77702c7dc80879-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:18 GMT","X-Frame-Options":"DENY","Content-Length":"128","Server":"gunicorn","Content-Type":"application/json","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"bf77702c7dc80879","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":68.613667,"id":"320905205d742748","name":"Request","timestamp":1646055678644736,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"external","action":"request","outcome":"success","parent_id":"26458e3aaefb2eb7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"960c795f6503f0e0"}} +{"span":{"duration":0.146417,"id":"4fdbc605a9d77601","name":"Response","timestamp":1646055678713373,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"external","action":"response","outcome":"success","parent_id":"26458e3aaefb2eb7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"960c795f6503f0e0"}} +{"span":{"duration":70.018417,"id":"26458e3aaefb2eb7","name":"GET opbeans-ruby:3000","timestamp":1646055678643502,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"960c795f6503f0e0","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"960c795f6503f0e0"}} +{"transaction":{"duration":70.333708,"id":"960c795f6503f0e0","name":"GET /api/stats","span_count":{"dropped":0,"started":5},"timestamp":1646055678643298,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Traceparent":"00-e0810cf1423288ce8686af5da3a134a0-91820ef6856152f8-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-e0810cf1423288ce8686af5da3a134a0-91820ef6856152f8-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"91820ef6856152f8","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":131.226416,"id":"d393786c5abfda86","name":"Request","timestamp":1646055678595701,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"external","action":"request","outcome":"success","parent_id":"ee869fc2bd72cdcf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e0810cf1423288ce"}} +{"span":{"duration":0.303458,"id":"9a521196c1067d4b","name":"Response","timestamp":1646055678726950,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"external","action":"response","outcome":"success","parent_id":"ee869fc2bd72cdcf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e0810cf1423288ce"}} +{"span":{"duration":131.579541,"id":"ee869fc2bd72cdcf","name":"GET opbeans-ruby:3000","timestamp":1646055678595675,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"e0810cf1423288ce","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"e0810cf1423288ce"}} +{"transaction":{"duration":132.373584,"id":"e0810cf1423288ce","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055678594982,"trace_id":"e0810cf1423288ce8686af5da3a134a0","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":1.034875,"id":"173fd5254a9b7154","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055678752561,"trace_id":"173fd5254a9b715461a650b9aa9c195d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.587334,"id":"c88c7f708b79808a","name":"SELECT FROM product_types","timestamp":1646055678772832,"trace_id":"f3e67d6698934dca5286c4d50070653a","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f3e67d6698934dca","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f3e67d6698934dca"}} +{"transaction":{"duration":0.7045,"id":"f3e67d6698934dca","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055678772807,"trace_id":"f3e67d6698934dca5286c4d50070653a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/1","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/1"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.355584,"id":"9d3b44eeb6badac7","name":"SELECT FROM product_types","timestamp":1646055678800835,"trace_id":"d5c634855062a1ebc0ecc6d92fc90164","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"cf0c148b41a4c6a7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"cf0c148b41a4c6a7"}} +{"transaction":{"duration":0.49974999999999997,"id":"cf0c148b41a4c6a7","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055678800821,"trace_id":"d5c634855062a1ebc0ecc6d92fc90164","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Elastic-Apm-Traceparent":"00-d5c634855062a1ebc0ecc6d92fc90164-40ff945ff959921c-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-d5c634855062a1ebc0ecc6d92fc90164-40ff945ff959921c-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"40ff945ff959921c","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":14.9665,"id":"0da3b91bce0195c6","name":"Request","timestamp":1646055678791861,"trace_id":"d5c634855062a1ebc0ecc6d92fc90164","type":"external","action":"request","outcome":"success","parent_id":"7a998942f5c1219d","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d5c634855062a1eb"}} +{"span":{"duration":0.138917,"id":"cbf7561d01fe6583","name":"Response","timestamp":1646055678806849,"trace_id":"d5c634855062a1ebc0ecc6d92fc90164","type":"external","action":"response","outcome":"success","parent_id":"7a998942f5c1219d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d5c634855062a1eb"}} +{"span":{"duration":15.146042,"id":"7a998942f5c1219d","name":"GET opbeans-ruby:3000","timestamp":1646055678791843,"trace_id":"d5c634855062a1ebc0ecc6d92fc90164","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"d5c634855062a1eb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d5c634855062a1eb"}} +{"transaction":{"duration":15.45175,"id":"d5c634855062a1eb","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055678791782,"trace_id":"d5c634855062a1ebc0ecc6d92fc90164","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":6614.259961,"id":"70549aedf983eb71","name":"Request","timestamp":1646055672220398,"trace_id":"16121a2f693413bb8caba2e1fb2ce2be","type":"external","action":"request","outcome":"success","parent_id":"09441b8efdb76a44","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f23dce43ee1bd73b"}} +{"span":{"duration":0.31333300000000003,"id":"79e1dfb30ce113e3","name":"Response","timestamp":1646055678834685,"trace_id":"16121a2f693413bb8caba2e1fb2ce2be","type":"external","action":"response","outcome":"success","parent_id":"09441b8efdb76a44","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"f23dce43ee1bd73b"}} +{"span":{"duration":6615.118877999999,"id":"09441b8efdb76a44","name":"GET opbeans-python:3000","timestamp":1646055672219880,"trace_id":"16121a2f693413bb8caba2e1fb2ce2be","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"f23dce43ee1bd73b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"f23dce43ee1bd73b"}} +{"transaction":{"duration":6615.429878000001,"id":"f23dce43ee1bd73b","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055672219823,"trace_id":"16121a2f693413bb8caba2e1fb2ce2be","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-16121a2f693413bb8caba2e1fb2ce2be-a4fdef07d50d6c02-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-16121a2f693413bb8caba2e1fb2ce2be-a4fdef07d50d6c02-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:41:18 GMT","Content-Type":"application/json","Referrer-Policy":"same-origin","X-Frame-Options":"DENY","Content-Length":"108580","Vary":"Cookie"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"a4fdef07d50d6c02","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.28358300000000003,"id":"aa4ff666853244fe","name":"DNS opbeans-node","timestamp":1646055678863199,"trace_id":"abc79ec3c848dd06a057b9e31433457f","type":"external","action":"dns","outcome":"success","parent_id":"139492f68d256dd8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d9626f96e82b487b"}} +{"span":{"duration":0.248,"id":"2d6561a54e217b2e","name":"Connect 172.23.0.10:3000","timestamp":1646055678863492,"trace_id":"abc79ec3c848dd06a057b9e31433457f","type":"external","action":"connect","outcome":"success","parent_id":"139492f68d256dd8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d9626f96e82b487b"}} +{"span":{"duration":21.844875,"id":"2184c8fdc0185914","name":"Request","timestamp":1646055678863789,"trace_id":"abc79ec3c848dd06a057b9e31433457f","type":"external","action":"request","outcome":"success","parent_id":"139492f68d256dd8","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d9626f96e82b487b"}} +{"span":{"duration":0.5375,"id":"a81eba52b2ce0455","name":"Response","timestamp":1646055678885662,"trace_id":"abc79ec3c848dd06a057b9e31433457f","type":"external","action":"response","outcome":"success","parent_id":"139492f68d256dd8","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"d9626f96e82b487b"}} +{"span":{"duration":23.0695,"id":"139492f68d256dd8","name":"GET opbeans-node:3000","timestamp":1646055678863131,"trace_id":"abc79ec3c848dd06a057b9e31433457f","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/5/customers","status_code":200}},"outcome":"success","parent_id":"d9626f96e82b487b","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"d9626f96e82b487b"}} +{"transaction":{"duration":23.563917,"id":"d9626f96e82b487b","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":5},"timestamp":1646055678862831,"trace_id":"abc79ec3c848dd06a057b9e31433457f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-abc79ec3c848dd06a057b9e31433457f-8ed44ec6dd5eab81-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-abc79ec3c848dd06a057b9e31433457f-8ed44ec6dd5eab81-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"2","Etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","Date":"Mon, 28 Feb 2022 13:41:18 GMT","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"8ed44ec6dd5eab81","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":84.536583,"id":"709a611ccc350838","name":"Request","timestamp":1646055678826764,"trace_id":"abc79ec3c848dd06a057b9e31433457f","type":"external","action":"request","outcome":"success","parent_id":"3d6b1961dfdd73dc","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"abc79ec3c848dd06"}} +{"span":{"duration":0.205417,"id":"1751cb576d7cd248","name":"Response","timestamp":1646055678911325,"trace_id":"abc79ec3c848dd06a057b9e31433457f","type":"external","action":"response","outcome":"success","parent_id":"3d6b1961dfdd73dc","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"abc79ec3c848dd06"}} +{"span":{"duration":84.783625,"id":"3d6b1961dfdd73dc","name":"GET opbeans-node:3000","timestamp":1646055678826747,"trace_id":"abc79ec3c848dd06a057b9e31433457f","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/5/customers?limit=90","status_code":200}},"outcome":"success","parent_id":"abc79ec3c848dd06","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"abc79ec3c848dd06"}} +{"transaction":{"duration":87.30304199999999,"id":"abc79ec3c848dd06","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055678826564,"trace_id":"abc79ec3c848dd06a057b9e31433457f","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/5/customers","port":"3000","protocol":"http","search":"limit=90","full":"http://opbeans-go:3000/api/products/5/customers?limit=90"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:18 GMT","X-Powered-By":"Express","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.3423749999999997,"id":"c66e35394f3e1420","name":"SELECT FROM product_types","timestamp":1646055678932978,"trace_id":"3fb61e6fca0514e01a3e8f757cf83023","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"3fb61e6fca0514e0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"3fb61e6fca0514e0"}} +{"transaction":{"duration":3.6285839999999996,"id":"3fb61e6fca0514e0","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055678932940,"trace_id":"3fb61e6fca0514e01a3e8f757cf83023","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":0.21175,"id":"86d4f69c32ef1e36","name":"GET /","span_count":{"dropped":0,"started":0},"timestamp":1646055678964075,"trace_id":"86d4f69c32ef1e36760278a5a97d56e2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/","port":"3000","protocol":"http","full":"http://opbeans-go:3000/"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"text/html; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"760278a5a97d56e2","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.631083,"id":"a6c56c41df6d0b1a","name":"SELECT FROM customers","timestamp":1646055679021640,"trace_id":"c067f02b04f2a7cf5a310527c9a2c3dc","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1295d1d307450380","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1295d1d307450380"}} +{"transaction":{"duration":0.853459,"id":"1295d1d307450380","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055679021620,"trace_id":"c067f02b04f2a7cf5a310527c9a2c3dc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/638","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/638"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-c067f02b04f2a7cf5a310527c9a2c3dc-669af6243b7c7e5a-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-c067f02b04f2a7cf5a310527c9a2c3dc-669af6243b7c7e5a-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"669af6243b7c7e5a","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":48.163292000000006,"id":"d516d96f9399488c","name":"Request","timestamp":1646055678986944,"trace_id":"c067f02b04f2a7cf5a310527c9a2c3dc","type":"external","action":"request","outcome":"success","parent_id":"3db3bf2a5c266725","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c067f02b04f2a7cf"}} +{"span":{"duration":0.12033400000000001,"id":"64300bd64c45b54b","name":"Response","timestamp":1646055679035136,"trace_id":"c067f02b04f2a7cf5a310527c9a2c3dc","type":"external","action":"response","outcome":"success","parent_id":"3db3bf2a5c266725","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c067f02b04f2a7cf"}} +{"span":{"duration":48.361625,"id":"3db3bf2a5c266725","name":"GET opbeans-ruby:3000","timestamp":1646055678986896,"trace_id":"c067f02b04f2a7cf5a310527c9a2c3dc","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/customers/638","status_code":200}},"outcome":"success","parent_id":"c067f02b04f2a7cf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"c067f02b04f2a7cf"}} +{"transaction":{"duration":48.701417,"id":"c067f02b04f2a7cf","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055678986722,"trace_id":"c067f02b04f2a7cf5a310527c9a2c3dc","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/638","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/638"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":82.802125,"id":"da8d7b626d5f879e","name":"Request","timestamp":1646055679088845,"trace_id":"df346f64a9b4804f4a4882266eb1f935","type":"external","action":"request","outcome":"success","parent_id":"2962a47da018f1ab","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"63c614f7f8daf0ce"}} +{"span":{"duration":24.046625,"id":"7e705a6ea75b9fdd","name":"Response","timestamp":1646055679171673,"trace_id":"df346f64a9b4804f4a4882266eb1f935","type":"external","action":"response","outcome":"success","parent_id":"2962a47da018f1ab","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":144,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"(*requestTracer).end","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":196,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"63c614f7f8daf0ce"}} +{"span":{"duration":106.9495,"id":"2962a47da018f1ab","name":"GET opbeans-ruby:3000","timestamp":1646055679088810,"trace_id":"df346f64a9b4804f4a4882266eb1f935","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/6/customers","status_code":200}},"outcome":"success","parent_id":"63c614f7f8daf0ce","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"63c614f7f8daf0ce"}} +{"transaction":{"duration":107.384375,"id":"63c614f7f8daf0ce","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":3},"timestamp":1646055679088747,"trace_id":"df346f64a9b4804f4a4882266eb1f935","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/6/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/6/customers"},"headers":{"Connection":"keep-alive","Traceparent":"00-df346f64a9b4804f4a4882266eb1f935-9393e437aa82d9a8-01","Elastic-Apm-Traceparent":"00-df346f64a9b4804f4a4882266eb1f935-9393e437aa82d9a8-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"X-Content-Type-Options":"nosniff","X-Request-Id":"931550fe-f985-4d92-a34d-bf7ad5b52c6f","X-Runtime":"0.050316","X-Xss-Protection":"1; mode=block","Cache-Control":"max-age=0, private, must-revalidate","Content-Type":"application/json; charset=utf-8","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin","Vary":"Accept","X-Frame-Options":"SAMEORIGIN","Etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","X-Download-Options":"noopen"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"9393e437aa82d9a8","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":154.781375,"id":"f21da2974ebc9e03","name":"Request","timestamp":1646055679054631,"trace_id":"75339d7aa498d9c17172c4eeb3f6cff4","type":"external","action":"request","outcome":"success","parent_id":"8a879fc1c92da1e6","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"75339d7aa498d9c1"}} +{"span":{"duration":0.184334,"id":"f26890e0ae326148","name":"Response","timestamp":1646055679209436,"trace_id":"75339d7aa498d9c17172c4eeb3f6cff4","type":"external","action":"response","outcome":"success","parent_id":"8a879fc1c92da1e6","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"75339d7aa498d9c1"}} +{"span":{"duration":155.008,"id":"8a879fc1c92da1e6","name":"GET opbeans-node:3000","timestamp":1646055679054613,"trace_id":"75339d7aa498d9c17172c4eeb3f6cff4","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products/4","status_code":200}},"outcome":"success","parent_id":"75339d7aa498d9c1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"75339d7aa498d9c1"}} +{"transaction":{"duration":155.222583,"id":"75339d7aa498d9c1","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055679054490,"trace_id":"75339d7aa498d9c17172c4eeb3f6cff4","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"331","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Powered-By":"Express","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:41:19 GMT","Referrer-Policy":"same-origin","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.25637499999999996,"id":"8adea9fa8b0c028d","name":"SELECT FROM customers","timestamp":1646055679227887,"trace_id":"1118ac36c39cd5e0cca44f4853ff5e44","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"1118ac36c39cd5e0","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"1118ac36c39cd5e0"}} +{"transaction":{"duration":3.9499169999999997,"id":"1118ac36c39cd5e0","name":"GET /api/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055679227869,"trace_id":"1118ac36c39cd5e0cca44f4853ff5e44","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.931334,"id":"ff2043baeeb029a0","name":"SELECT FROM orders","timestamp":1646055679296414,"trace_id":"a8418303eceea08ef26a9d6fe50bbed2","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"44efab4e1686026c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"44efab4e1686026c"}} +{"span":{"duration":0.567833,"id":"484af1db669a25ce","name":"SELECT FROM products","timestamp":1646055679298421,"trace_id":"a8418303eceea08ef26a9d6fe50bbed2","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"44efab4e1686026c","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"44efab4e1686026c"}} +{"transaction":{"duration":2.814333,"id":"44efab4e1686026c","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055679296390,"trace_id":"a8418303eceea08ef26a9d6fe50bbed2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/811","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/811"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-a8418303eceea08ef26a9d6fe50bbed2-744a895cc1b76e67-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-a8418303eceea08ef26a9d6fe50bbed2-744a895cc1b76e67-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"744a895cc1b76e67","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":68.850166,"id":"a2699e8e89c99d7f","name":"Request","timestamp":1646055679253286,"trace_id":"a8418303eceea08ef26a9d6fe50bbed2","type":"external","action":"request","outcome":"success","parent_id":"c1328135f5637e8a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a8418303eceea08e"}} +{"span":{"duration":0.143458,"id":"862e24037da2cf87","name":"Response","timestamp":1646055679322163,"trace_id":"a8418303eceea08ef26a9d6fe50bbed2","type":"external","action":"response","outcome":"success","parent_id":"c1328135f5637e8a","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"a8418303eceea08e"}} +{"span":{"duration":69.039916,"id":"c1328135f5637e8a","name":"GET opbeans-ruby:3000","timestamp":1646055679253268,"trace_id":"a8418303eceea08ef26a9d6fe50bbed2","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/orders/811","status_code":200}},"outcome":"success","parent_id":"a8418303eceea08e","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"a8418303eceea08e"}} +{"transaction":{"duration":69.21733400000001,"id":"a8418303eceea08e","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055679253205,"trace_id":"a8418303eceea08ef26a9d6fe50bbed2","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/811","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/811"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.1204169999999998,"id":"c2108401cbf023af","name":"DNS opbeans-node","timestamp":1646055679347782,"trace_id":"129d1d47eb4444e7e9439254c7a5f259","type":"external","action":"dns","outcome":"success","parent_id":"49a42ae502423be9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"129d1d47eb4444e7"}} +{"span":{"duration":0.73775,"id":"3638cb0cceadca3f","name":"Connect 172.23.0.10:3000","timestamp":1646055679350999,"trace_id":"129d1d47eb4444e7e9439254c7a5f259","type":"external","action":"connect","outcome":"success","parent_id":"49a42ae502423be9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"129d1d47eb4444e7"}} +{"span":{"duration":2.900083,"id":"6e15f9fa3bcea6f8","name":"SELECT FROM products","timestamp":1646055679426682,"trace_id":"129d1d47eb4444e7e9439254c7a5f259","type":"db","action":"query","context":{"db":{"statement":"SELECT\n products.id, products.sku, products.name, products.description,\n products.stock, products.cost, products.selling_price,\n products.type_id, product_types.name\nFROM products JOIN product_types ON type_id=product_types.id\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"af6d9304eed81633","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"af6d9304eed81633"}} +{"transaction":{"duration":3.060875,"id":"af6d9304eed81633","name":"GET /api/products","span_count":{"dropped":0,"started":1},"timestamp":1646055679426659,"trace_id":"129d1d47eb4444e7e9439254c7a5f259","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Elastic-Apm-Traceparent":"00-129d1d47eb4444e7e9439254c7a5f259-e876db77eff8475e-01","Traceparent":"00-129d1d47eb4444e7e9439254c7a5f259-e876db77eff8475e-01","Tracestate":"es=s:1","X-Forwarded-For":"172.23.0.11","User-Agent":"python-requests/2.27.1","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e876db77eff8475e","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":3.3,"id":"e4e9863a3b1ad061","name":"Request","timestamp":1646055679426489,"trace_id":"129d1d47eb4444e7e9439254c7a5f259","type":"external","action":"request","outcome":"success","parent_id":"e876db77eff8475e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c186f7dd8301c69e"}} +{"span":{"duration":0.104917,"id":"e45ca31c989fb5d0","name":"Response","timestamp":1646055679429790,"trace_id":"129d1d47eb4444e7e9439254c7a5f259","type":"external","action":"response","outcome":"success","parent_id":"e876db77eff8475e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c186f7dd8301c69e"}} +{"span":{"duration":3.429417,"id":"e876db77eff8475e","name":"GET opbeans-go:3000","timestamp":1646055679426467,"trace_id":"129d1d47eb4444e7e9439254c7a5f259","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/products","status_code":200}},"outcome":"success","parent_id":"c186f7dd8301c69e","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"c186f7dd8301c69e"}} +{"transaction":{"duration":3.56375,"id":"c186f7dd8301c69e","name":"GET /api/products","span_count":{"dropped":0,"started":3},"timestamp":1646055679426377,"trace_id":"129d1d47eb4444e7e9439254c7a5f259","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"Traceparent":"00-129d1d47eb4444e7e9439254c7a5f259-fa489a66c4c926aa-01","Elastic-Apm-Traceparent":"00-129d1d47eb4444e7e9439254c7a5f259-fa489a66c4c926aa-01","Tracestate":"es=s:1","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8","Date":"Mon, 28 Feb 2022 13:41:19 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"fa489a66c4c926aa","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":93.80275,"id":"bdbad0ddd78901b1","name":"Request","timestamp":1646055679351776,"trace_id":"129d1d47eb4444e7e9439254c7a5f259","type":"external","action":"request","outcome":"success","parent_id":"49a42ae502423be9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"129d1d47eb4444e7"}} +{"span":{"duration":0.128334,"id":"056e57c43e9185a1","name":"Response","timestamp":1646055679445607,"trace_id":"129d1d47eb4444e7e9439254c7a5f259","type":"external","action":"response","outcome":"success","parent_id":"49a42ae502423be9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"129d1d47eb4444e7"}} +{"span":{"duration":98.06029199999999,"id":"49a42ae502423be9","name":"GET opbeans-node:3000","timestamp":1646055679347675,"trace_id":"129d1d47eb4444e7e9439254c7a5f259","type":"external","context":{"destination":{"address":"opbeans-node","port":3000,"service":{"name":"http://opbeans-node:3000","resource":"opbeans-node:3000","type":"external"}},"http":{"url":"http://opbeans-node:3000/api/products","status_code":200}},"outcome":"success","parent_id":"129d1d47eb4444e7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"129d1d47eb4444e7"}} +{"transaction":{"duration":98.357291,"id":"129d1d47eb4444e7","name":"GET /api/products","span_count":{"dropped":0,"started":5},"timestamp":1646055679347494,"trace_id":"129d1d47eb4444e7e9439254c7a5f259","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products"},"headers":{"User-Agent":"Python/3.7 aiohttp/3.3.2","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:19 GMT","Server":"gunicorn","Content-Type":"application/json; charset=utf-8","Vary":"Cookie","Referrer-Policy":"same-origin","X-Frame-Options":"DENY","Content-Length":"2134","X-Content-Type-Options":"nosniff","X-Powered-By":"Express"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":87.08191699999999,"id":"e082c4a61f45caa3","name":"Request","timestamp":1646055679465651,"trace_id":"49d8290d1714ec6a081891e68c03ce16","type":"external","action":"request","outcome":"success","parent_id":"fe3839174bce8522","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"49d8290d1714ec6a"}} +{"span":{"duration":4.120625,"id":"5346630974d5ce36","name":"Response","timestamp":1646055679552767,"trace_id":"49d8290d1714ec6a081891e68c03ce16","type":"external","action":"response","outcome":"success","parent_id":"fe3839174bce8522","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"49d8290d1714ec6a"}} +{"span":{"duration":91.265,"id":"fe3839174bce8522","name":"GET opbeans-ruby:3000","timestamp":1646055679465626,"trace_id":"49d8290d1714ec6a081891e68c03ce16","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/products/top","status_code":200}},"outcome":"success","parent_id":"49d8290d1714ec6a","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":178,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Close","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"panic.go","lineno":1052,"abs_path":"/usr/local/go/src/runtime/panic.go","function":"gopanic","library_frame":true,"module":"runtime"},{"filename":"reverseproxy.go","lineno":348,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"49d8290d1714ec6a"}} +{"transaction":{"duration":91.514416,"id":"49d8290d1714ec6a","name":"GET /api/products/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055679465480,"trace_id":"49d8290d1714ec6a081891e68c03ce16","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","User-Agent":"Python/3.7 aiohttp/3.3.2"},"http_version":"1.1","socket":{"remote_address":"172.23.0.14"}},"response":{"headers":{"Etag":"W/\"6b84b8cfae4908f93f790804f2c9e7c9\"","X-Xss-Protection":"1; mode=block","X-Content-Type-Options":"nosniff","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin","X-Frame-Options":"SAMEORIGIN","Vary":"Accept","Cache-Control":"max-age=0, private, must-revalidate","X-Request-Id":"9a03b55a-545a-4ce4-9537-927ba690f9db","X-Runtime":"0.055243","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.413125,"id":"3b74ce44cb33beba","name":"DNS opbeans-python","timestamp":1646055679579421,"trace_id":"742455264b0ceb2cfd91ab9315cf8a62","type":"external","action":"dns","outcome":"success","parent_id":"ef2136df2eebca4c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"742455264b0ceb2c"}} +{"span":{"duration":0.32249999999999995,"id":"f7b8a08d25d7f3fb","name":"Connect 172.23.0.11:3000","timestamp":1646055679579841,"trace_id":"742455264b0ceb2cfd91ab9315cf8a62","type":"external","action":"connect","outcome":"success","parent_id":"ef2136df2eebca4c","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"742455264b0ceb2c"}} +{"span":{"duration":46.241208,"id":"de75a9aa9dafaf82","name":"Request","timestamp":1646055679620569,"trace_id":"e4877cfc0855d578b8580e578a6f85e7","type":"external","action":"request","outcome":"success","parent_id":"ef5e7f7c6dcadafb","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4d66e94148c22a0f"}} +{"span":{"duration":0.242917,"id":"21296e2dda123754","name":"Response","timestamp":1646055679666833,"trace_id":"e4877cfc0855d578b8580e578a6f85e7","type":"external","action":"response","outcome":"success","parent_id":"ef5e7f7c6dcadafb","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4d66e94148c22a0f"}} +{"span":{"duration":46.549625,"id":"ef5e7f7c6dcadafb","name":"GET opbeans-ruby:3000","timestamp":1646055679620528,"trace_id":"e4877cfc0855d578b8580e578a6f85e7","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/types","status_code":200}},"outcome":"success","parent_id":"4d66e94148c22a0f","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4d66e94148c22a0f"}} +{"transaction":{"duration":47.022084,"id":"4d66e94148c22a0f","name":"GET /api/types","span_count":{"dropped":0,"started":3},"timestamp":1646055679620382,"trace_id":"e4877cfc0855d578b8580e578a6f85e7","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Elastic-Apm-Traceparent":"00-e4877cfc0855d578b8580e578a6f85e7-944553086e1d9956-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-e4877cfc0855d578b8580e578a6f85e7-944553086e1d9956-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"944553086e1d9956","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.623,"id":"7403fa3ae7b298a2","name":"SELECT FROM orders","timestamp":1646055679720766,"trace_id":"1d103be990a65494da73b2cc46cba436","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"a7a470f4a28b96f7","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"a7a470f4a28b96f7"}} +{"span":{"duration":2.531167,"id":"26312a0f6a7f6cc5","name":"Request","timestamp":1646055679720665,"trace_id":"1d103be990a65494da73b2cc46cba436","type":"external","action":"request","outcome":"success","parent_id":"e017370fa4ad1c7d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e6f0a937f1ffda14"}} +{"transaction":{"duration":4.645875,"id":"a7a470f4a28b96f7","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055679720752,"trace_id":"1d103be990a65494da73b2cc46cba436","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.12","Accept-Encoding":"gzip","User-Agent":"http.rb/5.0.4","Elastic-Apm-Traceparent":"00-1d103be990a65494da73b2cc46cba436-e017370fa4ad1c7d-01","Traceparent":"00-1d103be990a65494da73b2cc46cba436-e017370fa4ad1c7d-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"e017370fa4ad1c7d","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.3293329999999997,"id":"e27b823606ad8e45","name":"Response","timestamp":1646055679723212,"trace_id":"1d103be990a65494da73b2cc46cba436","type":"external","action":"response","outcome":"success","parent_id":"e017370fa4ad1c7d","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e6f0a937f1ffda14"}} +{"span":{"duration":4.894375,"id":"e017370fa4ad1c7d","name":"GET opbeans-go:3000","timestamp":1646055679720649,"trace_id":"1d103be990a65494da73b2cc46cba436","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"e6f0a937f1ffda14","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"e6f0a937f1ffda14"}} +{"transaction":{"duration":5.0185830000000005,"id":"e6f0a937f1ffda14","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055679720589,"trace_id":"1d103be990a65494da73b2cc46cba436","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-1d103be990a65494da73b2cc46cba436-3030270179d45917-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-1d103be990a65494da73b2cc46cba436-3030270179d45917-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:19 GMT","Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"3030270179d45917","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.41100000000000003,"id":"a7a083740aab0f6f","name":"SELECT FROM orders","timestamp":1646055680184166,"trace_id":"2e74c4d73e3622976b21a225942fb115","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at, customer_id\nFROM orders WHERE orders.id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f43b6ac0c6b2eaa3","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f43b6ac0c6b2eaa3"}} +{"span":{"duration":0.6677500000000001,"id":"2f063d4eca0c3bb0","name":"SELECT FROM products","timestamp":1646055680184612,"trace_id":"2e74c4d73e3622976b21a225942fb115","type":"db","action":"query","context":{"db":{"statement":"SELECT\n product_id, amount,\n products.sku, products.name, products.description,\n products.type_id, products.stock, products.cost, products.selling_price\nFROM products JOIN order_lines ON products.id=order_lines.product_id\nWHERE order_lines.order_id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"f43b6ac0c6b2eaa3","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"f43b6ac0c6b2eaa3"}} +{"transaction":{"duration":1.342083,"id":"f43b6ac0c6b2eaa3","name":"GET /api/orders/:id","span_count":{"dropped":0,"started":2},"timestamp":1646055680184150,"trace_id":"2e74c4d73e3622976b21a225942fb115","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders/268","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders/268"},"headers":{"Connection":"close","Traceparent":"00-2e74c4d73e3622976b21a225942fb115-44f7dbd687f35cf5-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-2e74c4d73e3622976b21a225942fb115-44f7dbd687f35cf5-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"44f7dbd687f35cf5","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.246459,"id":"e3605b3a11e60961","name":"SELECT FROM products","timestamp":1646055680298365,"trace_id":"52fee542924bfac58895de0faf9a5406","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"bf1a2b0c770d3150","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"bf1a2b0c770d3150"}} +{"transaction":{"duration":1.492667,"id":"bf1a2b0c770d3150","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055680298350,"trace_id":"52fee542924bfac58895de0faf9a5406","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Elastic-Apm-Traceparent":"00-52fee542924bfac58895de0faf9a5406-f62ee53faa46d169-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-52fee542924bfac58895de0faf9a5406-f62ee53faa46d169-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"f62ee53faa46d169","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":1.67175,"id":"81afd6611136d1f7","name":"SELECT FROM products","timestamp":1646055680610885,"trace_id":"e3980bf09a3860414657072ad8821341","type":"db","action":"query","context":{"db":{"statement":"SELECT\n\t id, sku, name, stock, SUM(order_lines.amount) AS sold\nFROM products JOIN order_lines ON id=product_id GROUP BY products.id ORDER BY sold DESC\nLIMIT 3\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"69014b5cd377356a","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"69014b5cd377356a"}} +{"transaction":{"duration":1.944166,"id":"69014b5cd377356a","name":"GET /api/products/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055680610869,"trace_id":"e3980bf09a3860414657072ad8821341","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/top","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/top"},"headers":{"Traceparent":"00-e3980bf09a3860414657072ad8821341-dc608cfb435cd45c-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-e3980bf09a3860414657072ad8821341-dc608cfb435cd45c-01","Connection":"close","User-Agent":"http.rb/5.0.4"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"dc608cfb435cd45c","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":1.492667,"id":"054f0c4cb75d1350","name":"GET /api/stats","span_count":{"dropped":0,"started":0},"timestamp":1646055681244949,"trace_id":"c2eb15e432794a73b68961cc5573aeb5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Traceparent":"00-c2eb15e432794a73b68961cc5573aeb5-71002920a5c8a8a7-01","Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-c2eb15e432794a73b68961cc5573aeb5-71002920a5c8a8a7-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}},"tags":{"served_from_cache":"true"}},"outcome":"success","parent_id":"71002920a5c8a8a7","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":6398.573003,"id":"2baf2d7e587f49fb","name":"Request","timestamp":1646055675696148,"trace_id":"25ed7aa3117895fe7d016734c61183a1","type":"external","action":"request","outcome":"success","parent_id":"1d965e7a4b6d45bf","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ff6459f7a480371c"}} +{"span":{"duration":6400.536462,"id":"57b083b5e4b3dcd8","name":"Request","timestamp":1646055675694405,"trace_id":"25ed7aa3117895fe7d016734c61183a1","type":"external","action":"request","outcome":"success","parent_id":"5ec472a853075eab","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"25ed7aa3117895fe"}} +{"span":{"duration":0.471167,"id":"17076301e5df4a4e","name":"Response","timestamp":1646055682094784,"trace_id":"25ed7aa3117895fe7d016734c61183a1","type":"external","action":"response","outcome":"success","parent_id":"1d965e7a4b6d45bf","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"ff6459f7a480371c"}} +{"span":{"duration":6400.632003,"id":"1d965e7a4b6d45bf","name":"GET opbeans-python:3000","timestamp":1646055675694625,"trace_id":"25ed7aa3117895fe7d016734c61183a1","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"ff6459f7a480371c","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"ff6459f7a480371c"}} +{"span":{"duration":0.41362499999999996,"id":"19d314aded8d2957","name":"Response","timestamp":1646055682094963,"trace_id":"25ed7aa3117895fe7d016734c61183a1","type":"external","action":"response","outcome":"success","parent_id":"5ec472a853075eab","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"25ed7aa3117895fe"}} +{"span":{"duration":6400.992378,"id":"5ec472a853075eab","name":"GET opbeans-go:3000","timestamp":1646055675694385,"trace_id":"25ed7aa3117895fe7d016734c61183a1","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/orders","status_code":200}},"outcome":"success","parent_id":"25ed7aa3117895fe","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"25ed7aa3117895fe"}} +{"transaction":{"duration":6400.912670000001,"id":"ff6459f7a480371c","name":"GET /api/orders","span_count":{"dropped":0,"started":5},"timestamp":1646055675694577,"trace_id":"25ed7aa3117895fe7d016734c61183a1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip","Elastic-Apm-Traceparent":"00-25ed7aa3117895fe7d016734c61183a1-5ec472a853075eab-01","Traceparent":"00-25ed7aa3117895fe7d016734c61183a1-5ec472a853075eab-01","Tracestate":"es=s:1","X-Forwarded-For":"127.0.0.1"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Content-Length":"108580","Content-Type":"application/json","Vary":"Cookie","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin","Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:41:22 GMT","X-Frame-Options":"DENY"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"5ec472a853075eab","result":"HTTP 2xx","sample_rate":1}} +{"transaction":{"duration":6401.202128,"id":"25ed7aa3117895fe","name":"GET /api/orders","span_count":{"dropped":0,"started":3},"timestamp":1646055675694332,"trace_id":"25ed7aa3117895fe7d016734c61183a1","type":"request","context":{"request":{"method":"GET","url":{"hostname":"localhost","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://localhost:3000/api/orders"},"headers":{"User-Agent":"Go-http-client/1.1","Accept-Encoding":"gzip"},"http_version":"1.1","socket":{"remote_address":"127.0.0.1"}},"response":{"headers":{"Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"108580","Content-Type":"application/json","Date":"Mon, 28 Feb 2022 13:41:22 GMT"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.41125,"id":"85d3becf93cfdfab","name":"SELECT FROM product_types","timestamp":1646055682350964,"trace_id":"f6a78d33635b54dbf8e5d7a55e1184d5","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types WHERE id=$1","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"65f39cd56a16c1a4","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"65f39cd56a16c1a4"}} +{"transaction":{"duration":0.580125,"id":"65f39cd56a16c1a4","name":"GET /api/types/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055682350932,"trace_id":"f6a78d33635b54dbf8e5d7a55e1184d5","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types/2","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types/2"},"headers":{"Elastic-Apm-Traceparent":"00-f6a78d33635b54dbf8e5d7a55e1184d5-457d644f28ba420f-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-f6a78d33635b54dbf8e5d7a55e1184d5-457d644f28ba420f-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"457d644f28ba420f","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":2.282583,"id":"60db5c258bb6a3b3","name":"SELECT FROM customers","timestamp":1646055682969618,"trace_id":"b63ca59ba5e31826193036a61856303c","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nJOIN orders ON customers.id=orders.customer_id JOIN order_lines ON orders.id=order_lines.order_id WHERE order_lines.product_id=$1\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"30aeb7a10d94fe8d","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"30aeb7a10d94fe8d"}} +{"transaction":{"duration":5.201792,"id":"30aeb7a10d94fe8d","name":"GET /api/products/:id/customers","span_count":{"dropped":0,"started":1},"timestamp":1646055682969587,"trace_id":"b63ca59ba5e31826193036a61856303c","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/products/4/customers","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/products/4/customers"},"headers":{"User-Agent":"http.rb/5.0.4","Traceparent":"00-b63ca59ba5e31826193036a61856303c-fedbb577b5eae405-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-b63ca59ba5e31826193036a61856303c-fedbb577b5eae405-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"fedbb577b5eae405","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":79.278791,"id":"4addabd60f7c1340","name":"Request","timestamp":1646055683219432,"trace_id":"dd9877bbddfa0df681622d13c2b23129","type":"external","action":"request","outcome":"success","parent_id":"6aafd56c3e3a0cd9","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4f3887d636d54dce"}} +{"span":{"duration":0.22187500000000002,"id":"968d37e39bbfd7bf","name":"Response","timestamp":1646055683298834,"trace_id":"dd9877bbddfa0df681622d13c2b23129","type":"external","action":"response","outcome":"success","parent_id":"6aafd56c3e3a0cd9","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"4f3887d636d54dce"}} +{"span":{"duration":79.6955,"id":"6aafd56c3e3a0cd9","name":"GET opbeans-ruby:3000","timestamp":1646055683219361,"trace_id":"dd9877bbddfa0df681622d13c2b23129","type":"external","context":{"destination":{"address":"opbeans-ruby","port":3000,"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"}},"http":{"url":"http://opbeans-ruby:3000/api/stats","status_code":200}},"outcome":"success","parent_id":"4f3887d636d54dce","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"4f3887d636d54dce"}} +{"transaction":{"duration":80.190125,"id":"4f3887d636d54dce","name":"GET /api/stats","span_count":{"dropped":0,"started":3},"timestamp":1646055683219109,"trace_id":"dd9877bbddfa0df681622d13c2b23129","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/stats","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/stats"},"headers":{"Traceparent":"00-dd9877bbddfa0df681622d13c2b23129-bb968097862cc439-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-dd9877bbddfa0df681622d13c2b23129-bb968097862cc439-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"bb968097862cc439","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.43020800000000003,"id":"5c4ac73c3a040298","name":"SELECT FROM orders","timestamp":1646055683464966,"trace_id":"ee8d4d1fff7ad3f7f5072703a2ba6ace","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"e86ed74ae9351054","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"e86ed74ae9351054"}} +{"transaction":{"duration":2.372208,"id":"e86ed74ae9351054","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055683464950,"trace_id":"ee8d4d1fff7ad3f7f5072703a2ba6ace","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Elastic-Apm-Traceparent":"00-ee8d4d1fff7ad3f7f5072703a2ba6ace-eda9184ea42dd745-01","Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-ee8d4d1fff7ad3f7f5072703a2ba6ace-eda9184ea42dd745-01","Tracestate":"es=s:1.0"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"eda9184ea42dd745","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.462083,"id":"3f78567307978dee","name":"DNS opbeans-python","timestamp":1646055683586996,"trace_id":"5c5e07f43dfc37d4df77f9f21272d92d","type":"external","action":"dns","outcome":"success","parent_id":"8f0e2950b66ab7c7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7122e721241037f1"}} +{"span":{"duration":0.1035,"id":"ec9bf2dad5082bae","name":"Connect 172.23.0.11:3000","timestamp":1646055683587463,"trace_id":"5c5e07f43dfc37d4df77f9f21272d92d","type":"external","action":"connect","outcome":"success","parent_id":"8f0e2950b66ab7c7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7122e721241037f1"}} +{"span":{"duration":14.775792,"id":"b26360d71b48b477","name":"Request","timestamp":1646055683587591,"trace_id":"5c5e07f43dfc37d4df77f9f21272d92d","type":"external","action":"request","outcome":"success","parent_id":"8f0e2950b66ab7c7","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7122e721241037f1"}} +{"span":{"duration":0.137375,"id":"65609f791adb3c82","name":"Response","timestamp":1646055683602398,"trace_id":"5c5e07f43dfc37d4df77f9f21272d92d","type":"external","action":"response","outcome":"success","parent_id":"8f0e2950b66ab7c7","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"7122e721241037f1"}} +{"span":{"duration":15.683625,"id":"8f0e2950b66ab7c7","name":"GET opbeans-python:3000","timestamp":1646055683586853,"trace_id":"5c5e07f43dfc37d4df77f9f21272d92d","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/customers/237","status_code":200}},"outcome":"success","parent_id":"7122e721241037f1","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"7122e721241037f1"}} +{"transaction":{"duration":15.938457999999999,"id":"7122e721241037f1","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":5},"timestamp":1646055683586813,"trace_id":"5c5e07f43dfc37d4df77f9f21272d92d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/237","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/237"},"headers":{"Elastic-Apm-Traceparent":"00-5c5e07f43dfc37d4df77f9f21272d92d-bc680055ff452b21-01","Traceparent":"00-5c5e07f43dfc37d4df77f9f21272d92d-bc680055ff452b21-01","Tracestate":"es=s:1.0","X-Forwarded-For":"172.23.0.11","User-Agent":"python-requests/2.27.1","Accept":"*/*","Accept-Encoding":"gzip, deflate"},"http_version":"1.1","socket":{"remote_address":"172.23.0.9"}},"response":{"headers":{"Server":"gunicorn","Date":"Mon, 28 Feb 2022 13:41:23 GMT","X-Frame-Options":"DENY","Vary":"Cookie","Content-Type":"application/json","Content-Length":"191","X-Content-Type-Options":"nosniff","Referrer-Policy":"same-origin"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"bc680055ff452b21","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":16.265124999999998,"id":"b2f44405006dc18c","name":"Request","timestamp":1646055683586642,"trace_id":"5c5e07f43dfc37d4df77f9f21272d92d","type":"external","action":"request","outcome":"success","parent_id":"bc680055ff452b21","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"32289cd4b59ec2e2"}} +{"span":{"duration":0.044,"id":"c3e1a721647f7769","name":"Response","timestamp":1646055683602912,"trace_id":"5c5e07f43dfc37d4df77f9f21272d92d","type":"external","action":"response","outcome":"success","parent_id":"bc680055ff452b21","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"32289cd4b59ec2e2"}} +{"span":{"duration":16.333083000000002,"id":"bc680055ff452b21","name":"GET opbeans-go:3000","timestamp":1646055683586623,"trace_id":"5c5e07f43dfc37d4df77f9f21272d92d","type":"external","context":{"destination":{"address":"opbeans-go","port":3000,"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"}},"http":{"url":"http://opbeans-go:3000/api/customers/237","status_code":200}},"outcome":"success","parent_id":"32289cd4b59ec2e2","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"32289cd4b59ec2e2"}} +{"transaction":{"duration":16.676582999999997,"id":"32289cd4b59ec2e2","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":3},"timestamp":1646055683586410,"trace_id":"5c5e07f43dfc37d4df77f9f21272d92d","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/237","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/237"},"headers":{"Elastic-Apm-Traceparent":"00-5c5e07f43dfc37d4df77f9f21272d92d-158a8a967eb94230-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive","Traceparent":"00-5c5e07f43dfc37d4df77f9f21272d92d-158a8a967eb94230-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Date":"Mon, 28 Feb 2022 13:41:23 GMT","Referrer-Policy":"same-origin","Server":"gunicorn","Vary":"Cookie","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","Content-Length":"191","Content-Type":"application/json"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"158a8a967eb94230","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.532791,"id":"566082a02ac090fe","name":"DNS opbeans-python","timestamp":1646055683707724,"trace_id":"81077c4d21b1eb4d623b08699792e28b","type":"external","action":"dns","outcome":"success","parent_id":"de4dc654e2443936","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"936275b5babd2ec5"}} +{"span":{"duration":0.271916,"id":"4e7a55dd0d68827f","name":"Connect 172.23.0.11:3000","timestamp":1646055683708263,"trace_id":"81077c4d21b1eb4d623b08699792e28b","type":"external","action":"connect","outcome":"success","parent_id":"de4dc654e2443936","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"936275b5babd2ec5"}} +{"span":{"duration":21.383665999999998,"id":"38aa82d1f3b3969e","name":"Request","timestamp":1646055683708555,"trace_id":"81077c4d21b1eb4d623b08699792e28b","type":"external","action":"request","outcome":"success","parent_id":"de4dc654e2443936","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"clienttrace.go","lineno":130,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/clienttrace.go","function":"withClientTrace.func8","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"transport.go","lineno":2272,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readResponse","library_frame":true,"module":"net/http"},{"filename":"transport.go","lineno":2102,"abs_path":"/usr/local/go/src/net/http/transport.go","function":"(*persistConn).readLoop","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"936275b5babd2ec5"}} +{"span":{"duration":3.747125,"id":"58cfe208235dd04c","name":"Response","timestamp":1646055683729979,"trace_id":"81077c4d21b1eb4d623b08699792e28b","type":"external","action":"response","outcome":"success","parent_id":"de4dc654e2443936","sample_rate":1,"stacktrace":[],"subtype":"http","transaction_id":"936275b5babd2ec5"}} +{"span":{"duration":26.080084,"id":"de4dc654e2443936","name":"GET opbeans-python:3000","timestamp":1646055683707650,"trace_id":"81077c4d21b1eb4d623b08699792e28b","type":"external","context":{"destination":{"address":"opbeans-python","port":3000,"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"}},"http":{"url":"http://opbeans-python:3000/api/types","status_code":200}},"outcome":"success","parent_id":"936275b5babd2ec5","sample_rate":1,"stacktrace":[{"filename":"span.go","lineno":368,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/v2@v2.0.0-20220125052152-dbce0fc5646c/span.go","function":"(*Span).End","library_frame":true,"module":"go.elastic.co/apm/v2"},{"filename":"client.go","lineno":198,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).endSpan","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"client.go","lineno":187,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmhttp/v2@v2.0.0-20220125052152-dbce0fc5646c/client.go","function":"(*responseBody).Read","library_frame":true,"module":"go.elastic.co/apm/module/apmhttp/v2"},{"filename":"reverseproxy.go","lineno":461,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyBuffer","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":449,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).copyResponse","library_frame":true,"module":"net/http/httputil"},{"filename":"reverseproxy.go","lineno":338,"abs_path":"/usr/local/go/src/net/http/httputil/reverseproxy.go","function":"(*ReverseProxy).ServeHTTP","library_frame":true,"module":"net/http/httputil"},{"filename":"main.go","lineno":196,"abs_path":"/src/opbeans-go/main.go","function":"Main.func2","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"main.go","lineno":174,"abs_path":"/src/opbeans-go/main.go","function":"Main.func1","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"logger.go","lineno":36,"abs_path":"/src/opbeans-go/logger.go","function":"logrusMiddleware","module":"main"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"middleware.go","lineno":104,"abs_path":"/go/pkg/mod/github.com/elastic/apm-agent-go/module/apmgin/v2@v2.0.0-20220125052152-dbce0fc5646c/middleware.go","function":"(*middleware).handle","library_frame":true,"module":"go.elastic.co/apm/module/apmgin/v2"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"cache.go","lineno":128,"abs_path":"/go/pkg/mod/github.com/gin-contrib/cache@v1.1.0/cache.go","function":"Cache.func1","library_frame":true,"module":"github.com/gin-contrib/cache"},{"filename":"context.go","lineno":168,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go","function":"(*Context).Next","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":555,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).handleHTTPRequest","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"gin.go","lineno":511,"abs_path":"/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/gin.go","function":"(*Engine).ServeHTTP","library_frame":true,"module":"github.com/gin-gonic/gin"},{"filename":"server.go","lineno":2879,"abs_path":"/usr/local/go/src/net/http/server.go","function":"serverHandler.ServeHTTP","library_frame":true,"module":"net/http"},{"filename":"server.go","lineno":1930,"abs_path":"/usr/local/go/src/net/http/server.go","function":"(*conn).serve","library_frame":true,"module":"net/http"},{"filename":"asm_arm64.s","lineno":1133,"abs_path":"/usr/local/go/src/runtime/asm_arm64.s","function":"goexit","library_frame":true,"module":"runtime"}],"subtype":"http","transaction_id":"936275b5babd2ec5"}} +{"transaction":{"duration":28.41425,"id":"936275b5babd2ec5","name":"GET /api/types","span_count":{"dropped":0,"started":5},"timestamp":1646055683707368,"trace_id":"81077c4d21b1eb4d623b08699792e28b","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Tracestate":"es=s:1","Elastic-Apm-Traceparent":"00-81077c4d21b1eb4d623b08699792e28b-faa2f432c6538654-01","Connection":"close","Traceparent":"00-81077c4d21b1eb4d623b08699792e28b-faa2f432c6538654-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Length":"123","Vary":"Cookie","Server":"gunicorn","Content-Type":"application/json","Referrer-Policy":"same-origin","Date":"Mon, 28 Feb 2022 13:41:23 GMT","X-Frame-Options":"DENY","X-Content-Type-Options":"nosniff"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"faa2f432c6538654","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.549166,"id":"7372428f20556cba","name":"SELECT FROM orders","timestamp":1646055683756660,"trace_id":"4134a5a1e562d00af6f25d1a70903c31","type":"db","action":"query","context":{"db":{"statement":"SELECT\n orders.id, orders.created_at,\n customers.id, customers.full_name\nFROM orders JOIN customers ON orders.customer_id=customers.id\nLIMIT 1000\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"717b59595554c48b","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"717b59595554c48b"}} +{"transaction":{"duration":2.300125,"id":"717b59595554c48b","name":"GET /api/orders","span_count":{"dropped":0,"started":1},"timestamp":1646055683756644,"trace_id":"4134a5a1e562d00af6f25d1a70903c31","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/orders","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/orders"},"headers":{"Traceparent":"00-4134a5a1e562d00af6f25d1a70903c31-836b308445d1cc01-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-4134a5a1e562d00af6f25d1a70903c31-836b308445d1cc01-01","Connection":"close"},"http_version":"1.1","socket":{"remote_address":"172.23.0.10"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"836b308445d1cc01","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.447041,"id":"7f7185286de68b39","name":"SELECT FROM customers","timestamp":1646055683932002,"trace_id":"cb6b973ceeea699bf2a62712acbf9821","type":"db","action":"query","context":{"db":{"statement":"\nSELECT\n customers.id, full_name, company_name, email,\n address, postal_code, city, country\nFROM customers\nWHERE id=$1\n","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"8dbf26039b08a1dc","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"8dbf26039b08a1dc"}} +{"transaction":{"duration":0.689125,"id":"8dbf26039b08a1dc","name":"GET /api/customers/:id","span_count":{"dropped":0,"started":1},"timestamp":1646055683931976,"trace_id":"cb6b973ceeea699bf2a62712acbf9821","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/customers/419","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/customers/419"},"headers":{"Traceparent":"00-cb6b973ceeea699bf2a62712acbf9821-63156150c4a388a3-01","Elastic-Apm-Traceparent":"00-cb6b973ceeea699bf2a62712acbf9821-63156150c4a388a3-01","Tracestate":"es=s:1.0","User-Agent":"python-requests/2.27.1","Accept-Encoding":"gzip, deflate","Accept":"*/*","Connection":"keep-alive"},"http_version":"1.1","socket":{"remote_address":"172.23.0.11"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"63156150c4a388a3","result":"HTTP 2xx","sample_rate":1}} +{"span":{"duration":0.239917,"id":"18899f9b923cc2ec","name":"SELECT FROM product_types","timestamp":1646055684610853,"trace_id":"e2b7a915c4917a0564461554b5cd993a","type":"db","action":"query","context":{"db":{"statement":"SELECT id, name FROM product_types","type":"sql","user":"postgres"},"destination":{"address":"postgres","port":5432,"service":{"name":"postgresql","resource":"postgresql","type":"db"}}},"outcome":"success","parent_id":"06fbe65291930291","sample_rate":1,"stacktrace":[],"subtype":"postgresql","transaction_id":"06fbe65291930291"}} +{"transaction":{"duration":0.353791,"id":"06fbe65291930291","name":"GET /api/types","span_count":{"dropped":0,"started":1},"timestamp":1646055684610840,"trace_id":"e2b7a915c4917a0564461554b5cd993a","type":"request","context":{"request":{"method":"GET","url":{"hostname":"opbeans-go","pathname":"/api/types","port":"3000","protocol":"http","full":"http://opbeans-go:3000/api/types"},"headers":{"Connection":"close","User-Agent":"http.rb/5.0.4","Traceparent":"00-e2b7a915c4917a0564461554b5cd993a-1ea0415606751b87-01","Tracestate":"es=s:1.0","Elastic-Apm-Traceparent":"00-e2b7a915c4917a0564461554b5cd993a-1ea0415606751b87-01"},"http_version":"1.1","socket":{"remote_address":"172.23.0.12"}},"response":{"headers":{"Content-Type":"application/json; charset=utf-8"},"status_code":200},"service":{"framework":{"name":"gin","version":"v1.7.7"}}},"outcome":"success","parent_id":"1ea0415606751b87","result":"HTTP 2xx","sample_rate":1}} diff --git a/systemtest/cmd/apmbench/events/apm-nodejs-traces-3.29.0.ndjson b/systemtest/cmd/apmbench/events/apm-nodejs-traces-3.29.0.ndjson new file mode 100644 index 00000000000..9c07114b355 --- /dev/null +++ b/systemtest/cmd/apmbench/events/apm-nodejs-traces-3.29.0.ndjson @@ -0,0 +1,1845 @@ +{"metadata":{"service":{"name":"opbeans-node","environment":"production","runtime":{"name":"node","version":"14.19.0"},"language":{"name":"javascript"},"agent":{"name":"nodejs","version":"3.29.0"},"version":"1.0.0"},"process":{"pid":34,"ppid":1,"title":"node /app/node_modules/.bin/workload","argv":["/usr/local/bin/node","/usr/local/lib/node_modules/pm2/lib/ProcessContainer.js","ecosystem-workload.config.js","-f",".workload.js"]},"system":{"hostname":"698fd446b62a","architecture":"x64","platform":"linux"}}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"0ade42c6ef3d5617","trace_id":"22ce49b1aad6131ea366ce3ad6176d84","duration":203.095,"timestamp":1646055421489327,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:37:01 GMT","content-length":"401","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"fe964d6345cba85a","transaction_id":"0ade42c6ef3d5617","parent_id":"0ade42c6ef3d5617","trace_id":"22ce49b1aad6131ea366ce3ad6176d84","subtype":"http","action":"GET","timestamp":1646055421561690,"duration":95.946,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 5xx","id":"d5952ba2b485dc70","trace_id":"bd5afb176eb4cd16cb068b24d8e5c77c","duration":56.447,"timestamp":1646055421947125,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2/customers","full":"http://opbeans-node:3000/api/products/2/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":502,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:37:01 GMT","content-length":"0","connection":"close"}}},"span_count":{"started":1},"outcome":"failure","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"111d7262ba8fd2bb","transaction_id":"d5952ba2b485dc70","parent_id":"d5952ba2b485dc70","trace_id":"bd5afb176eb4cd16cb068b24d8e5c77c","subtype":"http","action":"GET","timestamp":1646055421965163,"duration":29.61,"context":{"http":{"method":"GET","status_code":502,"url":"http://opbeans-go:3000/api/products/2/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"OPTIONS unknown route","type":"request","result":"HTTP 2xx","id":"22da724dd0b9dd72","trace_id":"90fd060c6e54bc2ee7afc4535f7a0e01","duration":85.211,"timestamp":1646055435377800,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"OPTIONS","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","content-length":"0","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","allow":"GET,HEAD","content-type":"text/html; charset=utf-8","content-length":"8","etag":"W/\"8-ZRAf8oNBS3Bjb/SU2GYZCmbtmXg\"","date":"Mon, 28 Feb 2022 13:37:15 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"5dacf8e5be1b8225","trace_id":"d90ebf60dd2ed87a711aeb98ff329bfb","duration":158.99,"timestamp":1646055435840103,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/691","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/691","full":"http://opbeans-node:3000/api/customers/691"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"179","etag":"W/\"b3-Gypk18rk6LM3zylHdedIaUqLLWw\"","date":"Mon, 28 Feb 2022 13:37:15 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"cfb2af97d92ccab6","transaction_id":"5dacf8e5be1b8225","parent_id":"5dacf8e5be1b8225","trace_id":"d90ebf60dd2ed87a711aeb98ff329bfb","subtype":"postgresql","action":"query","timestamp":1646055435941099,"duration":25.194,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"8c15d79a9454281c","transaction_id":"ccc2eeb1c34a3941","parent_id":"ccc2eeb1c34a3941","trace_id":"569186f74b022884e6a3187ec69c1790","subtype":"postgresql","action":"query","timestamp":1646055436432917,"duration":7.465,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"ccc2eeb1c34a3941","trace_id":"569186f74b022884e6a3187ec69c1790","duration":116.576,"timestamp":1646055436337188,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:37:16 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"b55bfffaf301f347","transaction_id":"ccc2eeb1c34a3941","parent_id":"ccc2eeb1c34a3941","trace_id":"569186f74b022884e6a3187ec69c1790","subtype":"redis","action":null,"timestamp":1646055436394011,"duration":26.681,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"stacktrace":[{"filename":"node_modules/redis/lib/commands.js","lineno":46,"function":"get","library_frame":true,"abs_path":"/app/node_modules/redis/lib/commands.js"},{"filename":"server/routes.js","lineno":59,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":["","app.get('/products', function (req, res) {"],"context_line":" redis.get('products', function (err, obj) {","post_context":[" if (err) apm.captureError(err)"," else if (obj) return res.json(obj)"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":137,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":112,"function":"dispatch","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":281,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":88,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":["app.use('/api', function (req, res, next) {"," if (Math.random() > opbeansRedirectProbability) {"],"context_line":" return next()","post_context":[" }",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"992b90c9444b3e99","transaction_id":"f1457c4651c55812","parent_id":"f1457c4651c55812","trace_id":"345ffa265a4c5f64ca69883b634de7fc","subtype":"redis","action":null,"timestamp":1646055436836324,"duration":5.484,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"f1457c4651c55812","trace_id":"345ffa265a4c5f64ca69883b634de7fc","duration":102.683,"timestamp":1646055436817031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"841","etag":"W/\"349-y916hkUXWELhGsutVQ/n/TzfWjk\"","date":"Mon, 28 Feb 2022 13:37:16 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"bc71b954e54e67bb","transaction_id":"f1457c4651c55812","parent_id":"f1457c4651c55812","trace_id":"345ffa265a4c5f64ca69883b634de7fc","subtype":"postgresql","action":"query","timestamp":1646055436845599,"duration":41.945,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"2fbd525cc5fd43a5","transaction_id":"c7cb9901214de794","parent_id":"c7cb9901214de794","trace_id":"294f712a1adcb6cf72bec2207bbdf68b","subtype":"postgresql","action":"query","timestamp":1646055437340044,"duration":14.874,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"db2110e5102c5b2f","transaction_id":"c7cb9901214de794","parent_id":"c7cb9901214de794","trace_id":"294f712a1adcb6cf72bec2207bbdf68b","subtype":"postgresql","action":"query","timestamp":1646055437368190,"duration":23.156,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"a72a1e721a1aa70d","transaction_id":"c7cb9901214de794","parent_id":"c7cb9901214de794","trace_id":"294f712a1adcb6cf72bec2207bbdf68b","subtype":"postgresql","action":"query","timestamp":1646055437406965,"duration":11.668,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"9b8b29553469212b","transaction_id":"c7cb9901214de794","parent_id":"c7cb9901214de794","trace_id":"294f712a1adcb6cf72bec2207bbdf68b","subtype":"postgresql","action":"query","timestamp":1646055437429951,"duration":9.144,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":true,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"c7cb9901214de794","trace_id":"294f712a1adcb6cf72bec2207bbdf68b","duration":131.476,"timestamp":1646055437321039,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-Q7H4ZgCC+NDZvqku10YCSCzLv5I\"","date":"Mon, 28 Feb 2022 13:37:17 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"fb1b454dc6468c02","transaction_id":"d952051cce6b6d94","parent_id":"d952051cce6b6d94","trace_id":"80287f2458010ce6ee85e8ad378409ac","subtype":"redis","action":null,"timestamp":1646055437848239,"duration":13.15,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"stacktrace":[{"filename":"node_modules/redis/lib/commands.js","lineno":46,"function":"get","library_frame":true,"abs_path":"/app/node_modules/redis/lib/commands.js"},{"filename":"server/routes.js","lineno":168,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":["","app.get('/customers', function (req, res) {"],"context_line":" redis.get('customers', function (err, obj) {","post_context":[" if (err) apm.captureError(err)"," else if (obj) return res.json(obj)"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":137,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":112,"function":"dispatch","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":281,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":88,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":["app.use('/api', function (req, res, next) {"," if (Math.random() > opbeansRedirectProbability) {"],"context_line":" return next()","post_context":[" }",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"d952051cce6b6d94","trace_id":"80287f2458010ce6ee85e8ad378409ac","duration":311.046,"timestamp":1646055437824048,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:37:17 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"e063f11d5bd789b1","transaction_id":"d952051cce6b6d94","parent_id":"d952051cce6b6d94","trace_id":"80287f2458010ce6ee85e8ad378409ac","subtype":"postgresql","action":"query","timestamp":1646055437877522,"duration":221.742,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"304545814e2d03da","trace_id":"0575a5309d39f09040d3c1ef602727b4","parent_id":"223969e704f605d4","duration":72.907,"timestamp":1646055438320027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:37:18 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"dbf916e161ce7a27","transaction_id":"10a295a228201b02","parent_id":"10a295a228201b02","trace_id":"9a7f1b3080ae43b00c2acc10f382d168","subtype":"redis","action":null,"timestamp":1646055438837168,"duration":2.28,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"539a8f16e244b57d","transaction_id":"10a295a228201b02","parent_id":"10a295a228201b02","trace_id":"9a7f1b3080ae43b00c2acc10f382d168","subtype":"postgresql","action":"query","timestamp":1646055438845772,"duration":8.726,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"10a295a228201b02","trace_id":"9a7f1b3080ae43b00c2acc10f382d168","duration":54.536,"timestamp":1646055438822025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:37:18 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"c331471e5b550ba9","trace_id":"7b78db52eafdf997939207cb360802f1","duration":403.581,"timestamp":1646055452386833,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers?count=orders&limit=50","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5/customers","search":"?count=orders&limit=50","full":"http://opbeans-node:3000/api/products/5/customers?count=orders&limit=50"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:37:32 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b3ec4b7c41b1443d","trace_id":"3fcfaa5c98d6208f2362d3284089c8f0","duration":203.501,"timestamp":1646055452869032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:37:33 GMT","content-length":"110","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"17cf98ca8a8debf2","transaction_id":"b3ec4b7c41b1443d","parent_id":"b3ec4b7c41b1443d","trace_id":"3fcfaa5c98d6208f2362d3284089c8f0","subtype":"http","action":"GET","timestamp":1646055452955272,"duration":96.22,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"ace69f7d7733e44c","transaction_id":"c331471e5b550ba9","parent_id":"c331471e5b550ba9","trace_id":"7b78db52eafdf997939207cb360802f1","subtype":"postgresql","action":"query","timestamp":1646055452590679,"duration":119.817,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"256d3817539cedbe","trace_id":"905aeb5cb5a4cbf682beeec7a93d497b","duration":79.232,"timestamp":1646055453632033,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:37:33 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"d92739f14ce278e0","trace_id":"6b5ebcbc7ab74c9a8c20d71129064274","parent_id":"73426329ca4e70fa","duration":46.986,"timestamp":1646055453686024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:37:33 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"69dc3347ae8b1499","trace_id":"4c09fd0a9b427c51805446f3d7d540ab","duration":66.385,"timestamp":1646055453792026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5","full":"http://opbeans-node:3000/api/products/5"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"250","etag":"W/\"fa-O2pSp/nl49sefAwhjFNnvOX493Y\"","date":"Mon, 28 Feb 2022 13:37:33 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"cdf25cd315c84036","transaction_id":"69dc3347ae8b1499","parent_id":"69dc3347ae8b1499","trace_id":"4c09fd0a9b427c51805446f3d7d540ab","subtype":"postgresql","action":"query","timestamp":1646055453821048,"duration":21.613,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"754d8d65cab721c9","trace_id":"077c50319880762e0a8247282bf1da93","parent_id":"56cd3f4fce363a52","duration":17.798,"timestamp":1646055454262028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:37:34 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"50b88feec6888a02","transaction_id":"50b6958f61caed53","parent_id":"50b6958f61caed53","trace_id":"c2e45f8d04da3a69a2da02fbfa954684","subtype":"redis","action":null,"timestamp":1646055454775102,"duration":4.711,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"50b6958f61caed53","trace_id":"c2e45f8d04da3a69a2da02fbfa954684","duration":54.819,"timestamp":1646055454762036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"841","etag":"W/\"349-y916hkUXWELhGsutVQ/n/TzfWjk\"","date":"Mon, 28 Feb 2022 13:37:34 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"ffc4ad53f6dcd4ac","transaction_id":"50b6958f61caed53","parent_id":"50b6958f61caed53","trace_id":"c2e45f8d04da3a69a2da02fbfa954684","subtype":"postgresql","action":"query","timestamp":1646055454783821,"duration":13.836,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"3cc4551c3766e714","trace_id":"ee8d9ad179319220cf639b1d5aff5996","duration":121.048,"timestamp":1646055455275032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/452","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/452","full":"http://opbeans-node:3000/api/orders/452"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:37:35 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"336","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"1029043b1eb36a15","transaction_id":"3cc4551c3766e714","parent_id":"3cc4551c3766e714","trace_id":"ee8d9ad179319220cf639b1d5aff5996","subtype":"http","action":"GET","timestamp":1646055455282550,"duration":106.013,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/orders/452"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"25d9304f9e514f31","transaction_id":"27b898fd13e39de0","parent_id":"27b898fd13e39de0","trace_id":"f5e8eb885f7592dec78e5f124f43a96e","subtype":"postgresql","action":"query","timestamp":1646055455796971,"duration":6.42,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"27b898fd13e39de0","trace_id":"f5e8eb885f7592dec78e5f124f43a96e","duration":55.698,"timestamp":1646055455781058,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/171","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/171","full":"http://opbeans-node:3000/api/customers/171"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"187","etag":"W/\"bb-03/WerYypcNhIKvJonxcgjDg1/k\"","date":"Mon, 28 Feb 2022 13:37:35 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"384955e628bdf3ee","trace_id":"f4081f0687b7d3cbff1449f703ed01d0","duration":17.336,"timestamp":1646055456266040,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:37:36 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"51042e08c535724f","trace_id":"8e48d2f8f487924cc876ee58f047f2b9","duration":23.066,"timestamp":1646055456762032,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:37:36 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /throw-error","type":"request","result":"HTTP 5xx","id":"e254f7651ce692a3","trace_id":"32c4faf6d9cd1d9539d3d6bc42747d55","duration":124.681,"timestamp":1646055469003277,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/throw-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/throw-error","full":"http://opbeans-node:3000/throw-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-security-policy":"default-src 'none'","x-content-type-options":"nosniff","content-type":"text/html; charset=utf-8","content-length":"148","date":"Mon, 28 Feb 2022 13:37:49 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"1fe2a81701bf720b","trace_id":"7daa2f6c9aacfdf3ce481e2e55dab562","parent_id":"af137c82f54aa40c","duration":78.549,"timestamp":1646055469400046,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:37:49 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"feaaf81c2628e71c","trace_id":"7a118b9c44745d6bf62d01c13f586b00","duration":38.07,"timestamp":1646055469883019,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:37:49 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"735134b7dbcf34f8","trace_id":"418823839120a4f38d3c233687223640","duration":209.081,"timestamp":1646055470391036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:37:50 GMT","content-length":"401","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"4f966299636a6858","transaction_id":"735134b7dbcf34f8","parent_id":"735134b7dbcf34f8","trace_id":"418823839120a4f38d3c233687223640","subtype":"http","action":"GET","timestamp":1646055470461647,"duration":81.875,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 5xx","id":"a949de902a23b975","trace_id":"9de92b203e3f8f3a5c7e08afc337a170","duration":58.266,"timestamp":1646055470885029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":502,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:37:50 GMT","content-length":"0","connection":"close"}}},"span_count":{"started":1},"outcome":"failure","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"943b921648682a97","transaction_id":"a949de902a23b975","parent_id":"a949de902a23b975","trace_id":"9de92b203e3f8f3a5c7e08afc337a170","subtype":"http","action":"GET","timestamp":1646055470902614,"duration":27.918,"context":{"http":{"method":"GET","status_code":502,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /throw-error","type":"request","result":"HTTP 5xx","id":"1c970428e28abfdf","trace_id":"7e716d436e4a8fda836459a785595e88","duration":31.244,"timestamp":1646055471387045,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/throw-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/throw-error","full":"http://opbeans-node:3000/throw-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-security-policy":"default-src 'none'","x-content-type-options":"nosniff","content-type":"text/html; charset=utf-8","content-length":"148","date":"Mon, 28 Feb 2022 13:37:51 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"63ad52d656aacec3","trace_id":"39f4e68b22f0a78d0abbfbf564fbc703","duration":1484.56,"timestamp":1646055471887330,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/3","full":"http://opbeans-node:3000/api/types/3"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"189","etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","date":"Mon, 28 Feb 2022 13:37:53 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"8ccd718e874a56d7","trace_id":"19711787ae19a2b2df4477d135d1f4fc","duration":708.05,"timestamp":1646055472907200,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers?count=orders&limit=50","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5/customers","search":"?count=orders&limit=50","full":"http://opbeans-node:3000/api/products/5/customers?count=orders&limit=50"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:37:53 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"f557c2f53508beef","transaction_id":"8ccd718e874a56d7","parent_id":"8ccd718e874a56d7","trace_id":"19711787ae19a2b2df4477d135d1f4fc","subtype":"http","action":"GET","timestamp":1646055473167984,"duration":421.582,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/5/customers?count=orders&limit=50"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"1dd0ab254ae8b392","transaction_id":"63ad52d656aacec3","parent_id":"63ad52d656aacec3","trace_id":"39f4e68b22f0a78d0abbfbf564fbc703","subtype":"postgresql","action":"query","timestamp":1646055473256924,"duration":30.295,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"da766bf8a02ed5d9","transaction_id":"1b8153da6d30cdd8","parent_id":"1b8153da6d30cdd8","trace_id":"1489b252faaf3d654dc83416384920de","subtype":"postgresql","action":"query","timestamp":1646055473539174,"duration":173.157,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"4356f7e9c2ea5e64","trace_id":"d91036010edcf3a7b5b4fe6f7fb3e4ce","duration":163.796,"timestamp":1646055473769615,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:37:53 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"15333e08f7cc4dab","transaction_id":"4356f7e9c2ea5e64","parent_id":"4356f7e9c2ea5e64","trace_id":"d91036010edcf3a7b5b4fe6f7fb3e4ce","subtype":"postgresql","action":"query","timestamp":1646055473835369,"duration":51.176,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"1b8153da6d30cdd8","trace_id":"1489b252faaf3d654dc83416384920de","duration":863.767,"timestamp":1646055473400046,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-Alv1Zr5rpXiCFIdc5jgoIm/gAlI\"","date":"Mon, 28 Feb 2022 13:37:54 GMT","connection":"close"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"653a5a83d7387db2","transaction_id":"1b8153da6d30cdd8","parent_id":"1b8153da6d30cdd8","trace_id":"1489b252faaf3d654dc83416384920de","subtype":"postgresql","action":"query","timestamp":1646055474206074,"duration":22.272,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"901823862a79e531","transaction_id":"1b8153da6d30cdd8","parent_id":"1b8153da6d30cdd8","trace_id":"1489b252faaf3d654dc83416384920de","subtype":"postgresql","action":"query","timestamp":1646055474210387,"duration":24.399,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"1ba8e0a538e5d541","transaction_id":"1b8153da6d30cdd8","parent_id":"1b8153da6d30cdd8","trace_id":"1489b252faaf3d654dc83416384920de","subtype":"postgresql","action":"query","timestamp":1646055474214712,"duration":26.632,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"846df67b32916d97","transaction_id":"4356f7e9c2ea5e64","parent_id":"4356f7e9c2ea5e64","trace_id":"d91036010edcf3a7b5b4fe6f7fb3e4ce","subtype":"redis","action":null,"timestamp":1646055473798524,"duration":17.999,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"stacktrace":[{"filename":"node_modules/redis/lib/commands.js","lineno":46,"function":"get","library_frame":true,"abs_path":"/app/node_modules/redis/lib/commands.js"},{"filename":"server/routes.js","lineno":59,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":["","app.get('/products', function (req, res) {"],"context_line":" redis.get('products', function (err, obj) {","post_context":[" if (err) apm.captureError(err)"," else if (obj) return res.json(obj)"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":137,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":112,"function":"dispatch","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":281,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":88,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":["app.use('/api', function (req, res, next) {"," if (Math.random() > opbeansRedirectProbability) {"],"context_line":" return next()","post_context":[" }",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 5xx","id":"a5bdc0d0bfcce5e5","trace_id":"bc32c2ac722b33079a450896a288f2fd","duration":124.88,"timestamp":1646055474282027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":502,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:37:54 GMT","content-length":"0","connection":"close"}}},"span_count":{"started":1},"outcome":"failure","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"1714e0c6738dc9e9","transaction_id":"a5bdc0d0bfcce5e5","parent_id":"a5bdc0d0bfcce5e5","trace_id":"bc32c2ac722b33079a450896a288f2fd","subtype":"http","action":"GET","timestamp":1646055474303587,"duration":68.228,"context":{"http":{"method":"GET","status_code":502,"url":"http://opbeans-go:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"45494877c75e992f","transaction_id":"63ad52d656aacec3","parent_id":"63ad52d656aacec3","trace_id":"39f4e68b22f0a78d0abbfbf564fbc703","subtype":"postgresql","action":"query","timestamp":1646055473085284,"duration":116.565,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"e3597d9c65e06902","transaction_id":"1b8153da6d30cdd8","parent_id":"1b8153da6d30cdd8","trace_id":"1489b252faaf3d654dc83416384920de","subtype":"postgresql","action":"query","timestamp":1646055473850932,"duration":210.567,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"a05571e5b2ae5778","transaction_id":"1b8153da6d30cdd8","parent_id":"1b8153da6d30cdd8","trace_id":"1489b252faaf3d654dc83416384920de","subtype":"postgresql","action":"query","timestamp":1646055473859498,"duration":290.882,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"bf81d4cece1e3ab0","transaction_id":"1b8153da6d30cdd8","parent_id":"1b8153da6d30cdd8","trace_id":"1489b252faaf3d654dc83416384920de","subtype":"postgresql","action":"query","timestamp":1646055474170631,"duration":30.238,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"c307ef546866aba1","trace_id":"97d8c332cc9e65270dcdfb2c68e9a392","parent_id":"0e31ea8ce9df166c","duration":316.978,"timestamp":1646055474548121,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:37:54 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"ae75767aad5e7990","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"postgresql","action":"query","timestamp":1646055475226504,"duration":30.811,"context":{"db":{"statement":"SELECT id FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":307,"function":"PendingItem.callback","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" })",""],"context_line":" client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())","post_context":[" req.body.lines.forEach(function (line) {"," client.query('SELECT id FROM products WHERE id=$1', [line.id], next())"]},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"4f1912350502d47b","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"postgresql","action":"query","timestamp":1646055475235324,"duration":29.534,"context":{"db":{"statement":"SELECT id FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":309,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"," req.body.lines.forEach(function (line) {"],"context_line":" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":308,"function":"PendingItem.callback","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[""," client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())"," })"]},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"d05d6112c35416e3","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"postgresql","action":"query","timestamp":1646055475240227,"duration":66.059,"context":{"db":{"statement":"SELECT id FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":309,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"," req.body.lines.forEach(function (line) {"],"context_line":" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":308,"function":"PendingItem.callback","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[""," client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())"," })"]},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"cad054bbd211c36c","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"postgresql","action":"query","timestamp":1646055475247122,"duration":70.733,"context":{"db":{"statement":"SELECT id FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":309,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"," req.body.lines.forEach(function (line) {"],"context_line":" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":308,"function":"PendingItem.callback","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[""," client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())"," })"]},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"9ea4669c6ea9981e","transaction_id":"8a8366f1ce8a918e","parent_id":"8a8366f1ce8a918e","trace_id":"a7b2625a3c72902f925d822c9a0dfbee","subtype":"postgresql","action":"query","timestamp":1646055475300079,"duration":25.892,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"8a8366f1ce8a918e","trace_id":"a7b2625a3c72902f925d822c9a0dfbee","parent_id":"0ea5716b93d8924c","duration":136.44,"timestamp":1646055475273039,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-a7b2625a3c72902f925d822c9a0dfbee-0ea5716b93d8924c-01","elastic-apm-traceparent":"00-a7b2625a3c72902f925d822c9a0dfbee-0ea5716b93d8924c-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-Q7H4ZgCC+NDZvqku10YCSCzLv5I\"","date":"Mon, 28 Feb 2022 13:37:55 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"07c4d4ba2789b68e","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"postgresql","action":"query","timestamp":1646055475248472,"duration":106.259,"context":{"db":{"statement":"SELECT id FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":309,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"," req.body.lines.forEach(function (line) {"],"context_line":" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":308,"function":"PendingItem.callback","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[""," client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())"," })"]},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"beaa890a22cc90ce","transaction_id":"8a8366f1ce8a918e","parent_id":"8a8366f1ce8a918e","trace_id":"a7b2625a3c72902f925d822c9a0dfbee","subtype":"postgresql","action":"query","timestamp":1646055475331072,"duration":36.279,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"c4d342cabd52fc6c","transaction_id":"8a8366f1ce8a918e","parent_id":"8a8366f1ce8a918e","trace_id":"a7b2625a3c72902f925d822c9a0dfbee","subtype":"postgresql","action":"query","timestamp":1646055475334444,"duration":37.802,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"674a3d3a5a826d9e","transaction_id":"8a8366f1ce8a918e","parent_id":"8a8366f1ce8a918e","trace_id":"a7b2625a3c72902f925d822c9a0dfbee","subtype":"postgresql","action":"query","timestamp":1646055475339465,"duration":43.488,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"c1326b0b94e23389","trace_id":"a7b2625a3c72902f925d822c9a0dfbee","duration":779.83,"timestamp":1646055474775062,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:37:55 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"275","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"5230d26e0652f8ba","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"postgresql","action":"query","timestamp":1646055475249661,"duration":259.186,"context":{"db":{"statement":"SELECT id FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":309,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"," req.body.lines.forEach(function (line) {"],"context_line":" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":308,"function":"PendingItem.callback","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[""," client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())"," })"]},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"2fde35e6f50ac108","transaction_id":"c1326b0b94e23389","parent_id":"c1326b0b94e23389","trace_id":"a7b2625a3c72902f925d822c9a0dfbee","subtype":"http","action":"GET","timestamp":1646055474784384,"duration":748.494,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"BEGIN","type":"db","id":"18413b4553cd0cf3","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"postgresql","action":"query","timestamp":1646055475519824,"duration":55.064,"context":{"db":{"statement":"BEGIN","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":264,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" }",""],"context_line":" client.query('BEGIN', function (err) {","post_context":[" if (err) return rollback(err)",""]},{"filename":"node_modules/after-all-results/index.js","lineno":20,"function":"","library_frame":true,"abs_path":"/app/node_modules/after-all-results/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"INSERT INTO orders","type":"db","id":"f0cd1c5db3a6d3c7","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"postgresql","action":"query","timestamp":1646055475581798,"duration":41.651,"context":{"db":{"statement":"INSERT INTO orders (customer_id) VALUES ($1) RETURNING id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":269,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" const sql = 'INSERT INTO orders (customer_id) VALUES ($1) RETURNING id'",""],"context_line":" client.query(sql, [req.body.customer_id], function (err, result) {","post_context":[" if (err) return rollback(err)",""]},{"filename":"node_modules/pg/lib/query.js","lineno":138,"function":"handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/query.js"},{"filename":"node_modules/pg/lib/client.js","lineno":290,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"INSERT INTO order_lines","type":"db","id":"ad8ff7b76f4fd9dc","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"postgresql","action":"query","timestamp":1646055475632806,"duration":31.096,"context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES ($1, $2, $3)","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":292,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"],"context_line":" client.query(sql, [id, line.id, line.amount], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":289,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" })",""],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"]},{"filename":"node_modules/pg/lib/query.js","lineno":138,"function":"handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/query.js"},{"filename":"node_modules/pg/lib/client.js","lineno":290,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"INSERT INTO order_lines","type":"db","id":"eff04f192985cb70","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"postgresql","action":"query","timestamp":1646055475636238,"duration":33.216,"context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES ($1, $2, $3)","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":292,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"],"context_line":" client.query(sql, [id, line.id, line.amount], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":289,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" })",""],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"]},{"filename":"node_modules/pg/lib/query.js","lineno":138,"function":"handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/query.js"},{"filename":"node_modules/pg/lib/client.js","lineno":290,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"INSERT INTO order_lines","type":"db","id":"d405160e5b16f61e","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"postgresql","action":"query","timestamp":1646055475639447,"duration":39.181,"context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES ($1, $2, $3)","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":292,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"],"context_line":" client.query(sql, [id, line.id, line.amount], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":289,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" })",""],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"]},{"filename":"node_modules/pg/lib/query.js","lineno":138,"function":"handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/query.js"},{"filename":"node_modules/pg/lib/client.js","lineno":290,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"INSERT INTO order_lines","type":"db","id":"35299932ccc049de","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"postgresql","action":"query","timestamp":1646055475641002,"duration":44.972,"context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES ($1, $2, $3)","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":292,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"],"context_line":" client.query(sql, [id, line.id, line.amount], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":289,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" })",""],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"]},{"filename":"node_modules/pg/lib/query.js","lineno":138,"function":"handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/query.js"},{"filename":"node_modules/pg/lib/client.js","lineno":290,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"c919c6c558ba933a","trace_id":"97d03dadee49a3ac2202a0e7c7939236","parent_id":"605d25482303ac13","duration":45.48,"timestamp":1646055475649080,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:37:55 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"INSERT INTO order_lines","type":"db","id":"730569c94dbf6fee","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"postgresql","action":"query","timestamp":1646055475644676,"duration":55.685,"context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES ($1, $2, $3)","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":292,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"],"context_line":" client.query(sql, [id, line.id, line.amount], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":289,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" })",""],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"]},{"filename":"node_modules/pg/lib/query.js","lineno":138,"function":"handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/query.js"},{"filename":"node_modules/pg/lib/client.js","lineno":290,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f6dc4871e877d5a8","transaction_id":"41bb6e91c56f6680","parent_id":"41bb6e91c56f6680","trace_id":"cef42b38a1dab35a7f6bfadd3e85c711","subtype":"postgresql","action":"query","timestamp":1646055475983426,"duration":9.086,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"41bb6e91c56f6680","trace_id":"cef42b38a1dab35a7f6bfadd3e85c711","duration":39.693,"timestamp":1646055475965207,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4","full":"http://opbeans-node:3000/api/products/4"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"243","etag":"W/\"f3-6sVO4eOixKeSqLsiOclAUoIfJnQ\"","date":"Mon, 28 Feb 2022 13:37:55 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"POST /api/orders","type":"request","result":"HTTP 2xx","id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","duration":1351.754,"timestamp":1646055475039041,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"POST","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","accept":"application/json","content-type":"application/json","content-length":"129","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"},"body":"[REDACTED]"},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"13","etag":"W/\"d-y//SfV0QD0KV5wNxBPHfRWeEXeM\"","date":"Mon, 28 Feb 2022 13:37:56 GMT","connection":"close"}}},"span_count":{"started":16},"outcome":"success","sample_rate":1}} +{"span":{"name":"SET","type":"cache","id":"4354c92ee2bc970d","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"redis","action":null,"timestamp":1646055476318998,"duration":30.46,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"stacktrace":[{"filename":"node_modules/redis/lib/commands.js","lineno":46,"function":"get","library_frame":true,"abs_path":"/app/node_modules/redis/lib/commands.js"},{"filename":"server/routes.js","lineno":281,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" if (err) return rollback(err)"," done()"],"context_line":" redis.set('newest-order', id, function (err) {","post_context":[" if (err) return error(err, res)"," res.json({ id: id })"]},{"filename":"node_modules/pg/lib/query.js","lineno":138,"function":"handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/query.js"},{"filename":"node_modules/pg/lib/client.js","lineno":290,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"POST example.com","type":"external","id":"a223b73222b81dea","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"http","action":"POST","timestamp":1646055475737883,"duration":516.549,"context":{"http":{"method":"POST","status_code":404,"url":"http://example.com:80/opbeans"},"destination":{"service":{"name":"http://example.com","resource":"example.com:80","type":"external"},"address":"example.com","port":80}},"stacktrace":[{"filename":"node_modules/request/request.js","lineno":751,"function":"Request.start","library_frame":true,"abs_path":"/app/node_modules/request/request.js"},{"filename":"node_modules/request/request.js","lineno":1505,"function":"Request.end","library_frame":true,"abs_path":"/app/node_modules/request/request.js"},{"filename":"node_modules/request/request.js","lineno":564,"function":"end","library_frame":true,"abs_path":"/app/node_modules/request/request.js"},{"filename":"node_modules/request/request.js","lineno":578,"function":"Immediate.","library_frame":true,"abs_path":"/app/node_modules/request/request.js"},{"filename":"internal/timers.js","lineno":464,"function":"processImmediate","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"span":{"name":"COMMIT","type":"db","id":"00fd89aca58ed40a","transaction_id":"12716138751bef82","parent_id":"12716138751bef82","trace_id":"561c11d87c0fd892badd48aee6a035e3","subtype":"postgresql","action":"query","timestamp":1646055476269883,"duration":16.26,"context":{"db":{"statement":"COMMIT","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":278,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" accounting.placeOrder({ id: id }, function (err) {"," if (err) return rollback(err)"],"context_line":" client.query('COMMIT', function (err) {","post_context":[" if (err) return rollback(err)"," done()"]},{"filename":"server/accounting.js","lineno":7,"function":"Request._callback","library_frame":false,"abs_path":"/app/server/accounting.js","pre_context":["exports.placeOrder = function (order, cb) {"," request.post('http://example.com/opbeans', order, function (err, res, body) {"],"context_line":" cb(err, body)","post_context":[" })","}"]},{"filename":"node_modules/request/request.js","lineno":185,"function":"self.callback","library_frame":true,"abs_path":"/app/node_modules/request/request.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/request/request.js","lineno":1154,"function":"Request.","library_frame":true,"abs_path":"/app/node_modules/request/request.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/request/request.js","lineno":1076,"function":"IncomingMessage.","library_frame":true,"abs_path":"/app/node_modules/request/request.js"},{"filename":"events.js","lineno":519,"function":"onceWrapper","library_frame":true,"abs_path":"events.js"},{"filename":"events.js","lineno":412,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":1334,"function":"endReadableNT","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/process/task_queues.js","lineno":82,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-message","type":"request","result":"HTTP 5xx","id":"1cf30144bb09493f","trace_id":"fe0dcb863369063a7c601343655690cb","duration":100.379,"timestamp":1646055476467022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-message","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-message","full":"http://opbeans-node:3000/log-message"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:37:56 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /log-error","type":"request","result":"HTTP 5xx","id":"91b7355d8df28973","trace_id":"b296d55ffc012cc8a0e1ca6d95575e1b","duration":287.113,"timestamp":1646055487429394,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-error","full":"http://opbeans-node:3000/log-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:38:07 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b3f7f1b7dc5e4042","trace_id":"9267bb759a7fa7843da4960fba465492","duration":114.559,"timestamp":1646055487882096,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:38:07 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"e85113d3f23ec9e7","transaction_id":"b3f7f1b7dc5e4042","parent_id":"b3f7f1b7dc5e4042","trace_id":"9267bb759a7fa7843da4960fba465492","subtype":"http","action":"GET","timestamp":1646055487901512,"duration":67.864,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"81cf7d9fdba765ad","transaction_id":"b33dc054176eb1b0","parent_id":"b33dc054176eb1b0","trace_id":"3d8f919c5127377cac6f02f97832901d","subtype":"redis","action":null,"timestamp":1646055488408099,"duration":6.914,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"b33dc054176eb1b0","trace_id":"3d8f919c5127377cac6f02f97832901d","duration":155.667,"timestamp":1646055488388046,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:38:08 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"b50a2ff0b0bc9209","transaction_id":"b33dc054176eb1b0","parent_id":"b33dc054176eb1b0","trace_id":"3d8f919c5127377cac6f02f97832901d","subtype":"postgresql","action":"query","timestamp":1646055488479760,"duration":38.131,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"b251cbfb8dcd823f","transaction_id":"d779027676104e24","parent_id":"d779027676104e24","trace_id":"69d677948764f5999dbe8a82c0ca25fb","subtype":"redis","action":null,"timestamp":1646055489209417,"duration":5.188,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"d779027676104e24","trace_id":"69d677948764f5999dbe8a82c0ca25fb","duration":137.648,"timestamp":1646055489126497,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:38:09 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"3b81e5f98524c89b","transaction_id":"d779027676104e24","parent_id":"d779027676104e24","trace_id":"69d677948764f5999dbe8a82c0ca25fb","subtype":"postgresql","action":"query","timestamp":1646055489222686,"duration":11.04,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"606fe26bb0928fd3","transaction_id":"96758a33b18e7df8","parent_id":"96758a33b18e7df8","trace_id":"83c206e4b8d001ef743dd8a27828487d","subtype":"redis","action":null,"timestamp":1646055489517111,"duration":8.168,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"42002ad8714d4704","transaction_id":"96758a33b18e7df8","parent_id":"96758a33b18e7df8","trace_id":"83c206e4b8d001ef743dd8a27828487d","subtype":"postgresql","action":"query","timestamp":1646055489536323,"duration":168.948,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"ab6f233691baf0d9","trace_id":"83c206e4b8d001ef743dd8a27828487d","duration":387.84,"timestamp":1646055489407078,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"186769","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:38:09 GMT","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"96758a33b18e7df8","trace_id":"83c206e4b8d001ef743dd8a27828487d","parent_id":"ffeb3fd143dc5566","duration":324.813,"timestamp":1646055489479031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers","full":"http://opbeans-go:3000/api/customers"},"headers":{"host":"opbeans-go:3000","elastic-apm-traceparent":"00-83c206e4b8d001ef743dd8a27828487d-ffeb3fd143dc5566-01","traceparent":"00-83c206e4b8d001ef743dd8a27828487d-ffeb3fd143dc5566-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.10","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:38:09 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"4710c7b76c097bce","transaction_id":"ab6f233691baf0d9","parent_id":"ab6f233691baf0d9","trace_id":"83c206e4b8d001ef743dd8a27828487d","subtype":"http","action":"GET","timestamp":1646055489443860,"duration":345.886,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"4a6e3a188938bfce","trace_id":"8af954e71f043ae5b016448dd873505d","duration":187.257,"timestamp":1646055497665346,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/888","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/888","full":"http://opbeans-node:3000/api/customers/888"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"200","etag":"W/\"c8-+pUtv7cA6KJLNOQ3Asg1KUYsjFk\"","date":"Mon, 28 Feb 2022 13:38:17 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"069da15261c7b1e2","transaction_id":"4a6e3a188938bfce","parent_id":"4a6e3a188938bfce","trace_id":"8af954e71f043ae5b016448dd873505d","subtype":"postgresql","action":"query","timestamp":1646055497747369,"duration":27.903,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"53143ff614c1cc90","transaction_id":"0bdf59dc612775e2","parent_id":"0bdf59dc612775e2","trace_id":"d72ff2e25f27de70f3c6919a060eada4","subtype":"redis","action":null,"timestamp":1646055498329153,"duration":6.349,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"0bdf59dc612775e2","trace_id":"d72ff2e25f27de70f3c6919a060eada4","duration":72.648,"timestamp":1646055498307033,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:38:18 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"8eea6e42e14213e6","transaction_id":"0bdf59dc612775e2","parent_id":"0bdf59dc612775e2","trace_id":"d72ff2e25f27de70f3c6919a060eada4","subtype":"postgresql","action":"query","timestamp":1646055498342926,"duration":16.397,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"26d1f31d0f2bbb72","trace_id":"4b4d1c7a6e32a18bc6584a6dc037097b","duration":22.119,"timestamp":1646055498618020,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:38:18 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"2ec669b268b2dcd7","trace_id":"1327a3b8ea92eb5b4d1fde7d499d76e8","parent_id":"5f02c8b6abf9f77c","duration":84.393,"timestamp":1646055505238539,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:38:25 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"af08df2cc3c5d541","trace_id":"0f3cbb1b5ea89ee74345ab79c08bd41d","duration":189.947,"timestamp":1646055506987036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3","full":"http://opbeans-node:3000/api/products/3"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"231","etag":"W/\"e7-kkuzj37GZDzXDh0CWqh5Gan0VO4\"","date":"Mon, 28 Feb 2022 13:38:27 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"d31dd80f2ae49e64","transaction_id":"af08df2cc3c5d541","parent_id":"af08df2cc3c5d541","trace_id":"0f3cbb1b5ea89ee74345ab79c08bd41d","subtype":"postgresql","action":"query","timestamp":1646055507108117,"duration":33.383,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"5d814adbdab24c20","trace_id":"da61307e05a5d4195773fc273985b73a","duration":318.233,"timestamp":1646055507445022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/433","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/433","full":"http://opbeans-node:3000/api/orders/433"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:38:27 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"bb4084f0ea612bb0","transaction_id":"5d814adbdab24c20","parent_id":"5d814adbdab24c20","trace_id":"da61307e05a5d4195773fc273985b73a","subtype":"http","action":"GET","timestamp":1646055507483954,"duration":259.025,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/orders/433"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"230c4bbec74383cf","transaction_id":"2bbf7e2c211bad3a","parent_id":"2bbf7e2c211bad3a","trace_id":"5fc3f9712dea633718c5a782046d3c67","subtype":"postgresql","action":"query","timestamp":1646055507931223,"duration":5.399,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"2bbf7e2c211bad3a","trace_id":"5fc3f9712dea633718c5a782046d3c67","duration":25.295,"timestamp":1646055507920046,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/436","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/436","full":"http://opbeans-node:3000/api/orders/436"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:38:27 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"f8bd12422cb336e7","trace_id":"25259e2cc304aab0834bdfc246f70978","duration":301.765,"timestamp":1646055508412029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/1/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/1/customers","full":"http://opbeans-node:3000/api/products/1/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:38:28 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"2bd1532ff706ec09","transaction_id":"f8bd12422cb336e7","parent_id":"f8bd12422cb336e7","trace_id":"25259e2cc304aab0834bdfc246f70978","subtype":"http","action":"GET","timestamp":1646055508419026,"duration":289.28,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/1/customers"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"e63b2e7d7eea1805","transaction_id":"5c21f7dcac79da3a","parent_id":"5c21f7dcac79da3a","trace_id":"3d0c7329024e960e52fbf45d444ebe58","subtype":"postgresql","action":"query","timestamp":1646055508917483,"duration":4.695,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"5c21f7dcac79da3a","trace_id":"3d0c7329024e960e52fbf45d444ebe58","duration":20.087,"timestamp":1646055508909021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4/customers","full":"http://opbeans-node:3000/api/products/4/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:38:28 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-error","type":"request","result":"HTTP 5xx","id":"4f4ce08d91657b1c","trace_id":"c9be06a56897430b28ca8c5ffd69abaf","duration":118.055,"timestamp":1646055509414024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-error","full":"http://opbeans-node:3000/log-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:38:29 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"fee0e545d19afe2b","trace_id":"602578f5523d8e9ed9c3b54693251603","parent_id":"68a6adca0a8783fc","duration":38.235,"timestamp":1646055509926030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:38:29 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"0e42221a0c41aba0","trace_id":"ce2e76a862d49a4825264e6a786d5e93","parent_id":"bf9db0735731ac21","duration":26.267,"timestamp":1646055510429056,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:38:30 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b53f5727ecc57790","trace_id":"3507e26a72d394f84df5789f6a1af90d","duration":87.646,"timestamp":1646055510922036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/3","full":"http://opbeans-node:3000/api/types/3"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:30 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"205","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"8a578bac165e1e8a","transaction_id":"b53f5727ecc57790","parent_id":"b53f5727ecc57790","trace_id":"3507e26a72d394f84df5789f6a1af90d","subtype":"http","action":"GET","timestamp":1646055510929052,"duration":62.627,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types/3"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-error","type":"request","result":"HTTP 5xx","id":"c749f1f4d0cfe9dc","trace_id":"6ea846b817de3c967e0b4312fb4ed0bb","duration":42.818,"timestamp":1646055511427024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-error","full":"http://opbeans-node:3000/log-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:38:31 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"ca09ac639d109d69","trace_id":"0fd056cc0fb4931f05a686f644a0216e","duration":41.869,"timestamp":1646055511928045,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3/customers","full":"http://opbeans-node:3000/api/products/3/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2247","etag":"W/\"8c7-DzU3uvPT9Eu5vDsXxF0AVpUtaII\"","date":"Mon, 28 Feb 2022 13:38:31 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"d6e774e8fd7553c2","transaction_id":"ca09ac639d109d69","parent_id":"ca09ac639d109d69","trace_id":"0fd056cc0fb4931f05a686f644a0216e","subtype":"postgresql","action":"query","timestamp":1646055511941849,"duration":11.119,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"77f67350bbf82f28","trace_id":"eba3ee72ce4bbd5431439af9f4057934","duration":192.44,"timestamp":1646055512428036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"195dc75dd23c6abbf5c85d7fd3d619d1\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"0bc2afd8-0d25-4b65-b67e-e8b89345768f","x-runtime":"0.126061","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:38:32 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"7699a66c60611f6b","transaction_id":"77f67350bbf82f28","parent_id":"77f67350bbf82f28","trace_id":"eba3ee72ce4bbd5431439af9f4057934","subtype":"http","action":"GET","timestamp":1646055512446639,"duration":158.241,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"e52c99e6842b3e65","trace_id":"ff835dd40e830476499e465971e9f3b4","duration":80.463,"timestamp":1646055512930038,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/182","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/182","full":"http://opbeans-node:3000/api/orders/182"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:38:32 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"ebb5d55e254f64ef","transaction_id":"e52c99e6842b3e65","parent_id":"e52c99e6842b3e65","trace_id":"ff835dd40e830476499e465971e9f3b4","subtype":"http","action":"GET","timestamp":1646055512935491,"duration":59.633,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/orders/182"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"be0bfe7313c9cc12","transaction_id":"a3ca90a0b4d39647","parent_id":"a3ca90a0b4d39647","trace_id":"99151c11d476848bf2c2eb00d99bc3f0","subtype":"postgresql","action":"query","timestamp":1646055513460630,"duration":14.291,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"34badbfb2be95a31","transaction_id":"a3ca90a0b4d39647","parent_id":"a3ca90a0b4d39647","trace_id":"99151c11d476848bf2c2eb00d99bc3f0","subtype":"postgresql","action":"query","timestamp":1646055513488608,"duration":9.643,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"a3ca90a0b4d39647","trace_id":"99151c11d476848bf2c2eb00d99bc3f0","duration":96.092,"timestamp":1646055513427046,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/1","full":"http://opbeans-node:3000/api/types/1"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"217","etag":"W/\"d9-cebOOHODBQMZd1wt+ZZBaSPgQLQ\"","date":"Mon, 28 Feb 2022 13:38:33 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"d799f74ac9f6d0a1","transaction_id":"a08bbbbda847bd06","parent_id":"a08bbbbda847bd06","trace_id":"11374722481eb2c95335ebb8f75715b7","subtype":"redis","action":null,"timestamp":1646055513765635,"duration":9.788,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"5740210a0d64a55b","transaction_id":"a08bbbbda847bd06","parent_id":"a08bbbbda847bd06","trace_id":"11374722481eb2c95335ebb8f75715b7","subtype":"postgresql","action":"query","timestamp":1646055513781673,"duration":5.914,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"a08bbbbda847bd06","trace_id":"11374722481eb2c95335ebb8f75715b7","parent_id":"9a435da723b8620a","duration":47.882,"timestamp":1646055513754023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-11374722481eb2c95335ebb8f75715b7-9a435da723b8620a-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-11374722481eb2c95335ebb8f75715b7-9a435da723b8620a-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:38:33 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"97217e769a2c544a","transaction_id":"c3e787370c17b1b3","parent_id":"c3e787370c17b1b3","trace_id":"c36dfecb4d00fb88933796929d161484","subtype":"postgresql","action":"query","timestamp":1646055513930863,"duration":9.219,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"fc12b6d1c08ddb31","transaction_id":"c3e787370c17b1b3","parent_id":"c3e787370c17b1b3","trace_id":"c36dfecb4d00fb88933796929d161484","subtype":"postgresql","action":"query","timestamp":1646055513947024,"duration":16.142,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"773237b695f9cfa6","transaction_id":"c3e787370c17b1b3","parent_id":"c3e787370c17b1b3","trace_id":"c36dfecb4d00fb88933796929d161484","subtype":"postgresql","action":"query","timestamp":1646055513989837,"duration":7.288,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":true,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"c3e787370c17b1b3","trace_id":"c36dfecb4d00fb88933796929d161484","duration":85.949,"timestamp":1646055513922025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:38:33 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"5ec9e01d126fa8b6","transaction_id":"c3e787370c17b1b3","parent_id":"c3e787370c17b1b3","trace_id":"c36dfecb4d00fb88933796929d161484","subtype":"postgresql","action":"query","timestamp":1646055513985977,"duration":13.873,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"916e729b40abd741","transaction_id":"e3467589655375f6","parent_id":"e3467589655375f6","trace_id":"aa310126e42d803081f613b8fcb0224b","subtype":"postgresql","action":"query","timestamp":1646055514124257,"duration":8.639,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"e3467589655375f6","trace_id":"aa310126e42d803081f613b8fcb0224b","parent_id":"a2dbdd121a35a527","duration":35.135,"timestamp":1646055514116022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/2","full":"http://opbeans-go:3000/api/products/2"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-aa310126e42d803081f613b8fcb0224b-a2dbdd121a35a527-01","traceparent":"00-aa310126e42d803081f613b8fcb0224b-a2dbdd121a35a527-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"242","etag":"W/\"f2-TrZrMcMTUtdW6GY8TQq8W/JG3iU\"","date":"Mon, 28 Feb 2022 13:38:34 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"f195aa051c98d3d0","transaction_id":"c0630d2a53f666dc","parent_id":"c0630d2a53f666dc","trace_id":"e4c6889bc49ef605f3c8850e87db3eda","subtype":"redis","action":null,"timestamp":1646055514254047,"duration":5.195,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"12a3268daefd133a","transaction_id":"c0630d2a53f666dc","parent_id":"c0630d2a53f666dc","trace_id":"e4c6889bc49ef605f3c8850e87db3eda","subtype":"postgresql","action":"query","timestamp":1646055514261031,"duration":3.077,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"c0630d2a53f666dc","trace_id":"e4c6889bc49ef605f3c8850e87db3eda","parent_id":"e7184ece380f364a","duration":22.839,"timestamp":1646055514247031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-e4c6889bc49ef605f3c8850e87db3eda-e7184ece380f364a-01","elastic-apm-traceparent":"00-e4c6889bc49ef605f3c8850e87db3eda-e7184ece380f364a-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:38:34 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b2980c4c4e2b4588","trace_id":"1fba071b3d4b296c8174678db086f09a","parent_id":"4eb548a2807d9ae0","duration":70.932,"timestamp":1646055514300030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/91","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/91","full":"http://opbeans-node:3000/api/customers/91"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-1fba071b3d4b296c8174678db086f09a-4eb548a2807d9ae0-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-1fba071b3d4b296c8174678db086f09a-4eb548a2807d9ae0-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:34 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"201","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"5bfd104a3ed9d298","transaction_id":"b2980c4c4e2b4588","parent_id":"b2980c4c4e2b4588","trace_id":"1fba071b3d4b296c8174678db086f09a","subtype":"http","action":"GET","timestamp":1646055514306760,"duration":56.042,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers/91"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"447059e5a78e5fdd","trace_id":"6b9e3be12373293cb49ca533fcff0c50","parent_id":"ff2f9c257e6d93fe","duration":92.289,"timestamp":1646055514415018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types","full":"http://opbeans-go:3000/api/types"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-6b9e3be12373293cb49ca533fcff0c50-ff2f9c257e6d93fe-01","traceparent":"00-6b9e3be12373293cb49ca533fcff0c50-ff2f9c257e6d93fe-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:34 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"123","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"17983116d55180a3","transaction_id":"447059e5a78e5fdd","parent_id":"447059e5a78e5fdd","trace_id":"6b9e3be12373293cb49ca533fcff0c50","subtype":"http","action":"GET","timestamp":1646055514421467,"duration":79.995,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"6d5f05eef65a58b7","trace_id":"0540fa0d5054eef4ad860ab996455cc9","duration":57.494,"timestamp":1646055514463018,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:38:34 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"3a11794d4e6cfade","transaction_id":"6944b5a95f8a8c69","parent_id":"6944b5a95f8a8c69","trace_id":"2db07534d613cfb1ec4fb669056bc81d","subtype":"redis","action":null,"timestamp":1646055514576336,"duration":1.909,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"0b5a6b5f9f452e83","transaction_id":"6944b5a95f8a8c69","parent_id":"6944b5a95f8a8c69","trace_id":"2db07534d613cfb1ec4fb669056bc81d","subtype":"postgresql","action":"query","timestamp":1646055514580635,"duration":109.732,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"6944b5a95f8a8c69","trace_id":"2db07534d613cfb1ec4fb669056bc81d","parent_id":"51b4ee0b1132a7ef","duration":155.203,"timestamp":1646055514570020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers","full":"http://opbeans-go:3000/api/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-2db07534d613cfb1ec4fb669056bc81d-51b4ee0b1132a7ef-01","traceparent":"00-2db07534d613cfb1ec4fb669056bc81d-51b4ee0b1132a7ef-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:38:34 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"d036d8d1904bbe98","trace_id":"5391e50406c3bf68e0159633f91479c4","parent_id":"f9d2a8daba7b6c55","duration":214.414,"timestamp":1646055514531019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-5391e50406c3bf68e0159633f91479c4-f9d2a8daba7b6c55-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-5391e50406c3bf68e0159633f91479c4-f9d2a8daba7b6c55-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:34 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"203686","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"c24bd10fcfb2227f","transaction_id":"d036d8d1904bbe98","parent_id":"d036d8d1904bbe98","trace_id":"5391e50406c3bf68e0159633f91479c4","subtype":"http","action":"GET","timestamp":1646055514545281,"duration":195.53,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"1e10f7978c841b18","trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","parent_id":"636ae26949f87e18","duration":50.662,"timestamp":1646055514861032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2","full":"http://opbeans-node:3000/api/products/2"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-23d2cc67b7a546fbdae6cb1f588c6197-636ae26949f87e18-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-23d2cc67b7a546fbdae6cb1f588c6197-636ae26949f87e18-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:34 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"259","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"7e7b4bdabd95d272","transaction_id":"1e10f7978c841b18","parent_id":"1e10f7978c841b18","trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","subtype":"http","action":"GET","timestamp":1646055514868785,"duration":36.057,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/2"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"0794a77c6c95a83a","trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","parent_id":"976e3c79d57d013f","duration":115.52,"timestamp":1646055514818022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/2","full":"http://opbeans-go:3000/api/products/2"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-23d2cc67b7a546fbdae6cb1f588c6197-976e3c79d57d013f-01","traceparent":"00-23d2cc67b7a546fbdae6cb1f588c6197-976e3c79d57d013f-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:38:34 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"1324a24fd1df2ea5","transaction_id":"0794a77c6c95a83a","parent_id":"0794a77c6c95a83a","trace_id":"23d2cc67b7a546fbdae6cb1f588c6197","subtype":"http","action":"GET","timestamp":1646055514824727,"duration":101.171,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/2"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"c337fd6209509cae","trace_id":"e731ce4bcdc4fc9dbf006b4f709b60d6","duration":32.088,"timestamp":1646055514954017,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:38:34 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"838e59f5e5c1c80a","transaction_id":"456219a6626d9296","parent_id":"456219a6626d9296","trace_id":"d8223fb2365f4ff8442d525295613dae","subtype":"postgresql","action":"query","timestamp":1646055515190617,"duration":20.41,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"456219a6626d9296","trace_id":"d8223fb2365f4ff8442d525295613dae","parent_id":"131867dc1851550a","duration":77.014,"timestamp":1646055515182022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/top","full":"http://opbeans-go:3000/api/products/top"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-d8223fb2365f4ff8442d525295613dae-131867dc1851550a-01","traceparent":"00-d8223fb2365f4ff8442d525295613dae-131867dc1851550a-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:38:35 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"3e05513480fb39af","transaction_id":"456219a6626d9296","parent_id":"456219a6626d9296","trace_id":"d8223fb2365f4ff8442d525295613dae","subtype":"postgresql","action":"query","timestamp":1646055515221503,"duration":13.054,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"264ef8bc6959d1cb","transaction_id":"456219a6626d9296","parent_id":"456219a6626d9296","trace_id":"d8223fb2365f4ff8442d525295613dae","subtype":"postgresql","action":"query","timestamp":1646055515226488,"duration":14.045,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"7d1431fe96c9e617","transaction_id":"456219a6626d9296","parent_id":"456219a6626d9296","trace_id":"d8223fb2365f4ff8442d525295613dae","subtype":"postgresql","action":"query","timestamp":1646055515229755,"duration":16.676,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"886bf5841cbdd6f6","trace_id":"c2dbf4d59a2e2c4987e7ed6edaf7fa19","parent_id":"4a6e931210035e07","duration":33.088,"timestamp":1646055515311021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5/customers","full":"http://opbeans-node:3000/api/products/5/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-c2dbf4d59a2e2c4987e7ed6edaf7fa19-4a6e931210035e07-01","elastic-apm-traceparent":"00-c2dbf4d59a2e2c4987e7ed6edaf7fa19-4a6e931210035e07-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:38:35 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"ee20f090d07d2b8d","transaction_id":"886bf5841cbdd6f6","parent_id":"886bf5841cbdd6f6","trace_id":"c2dbf4d59a2e2c4987e7ed6edaf7fa19","subtype":"postgresql","action":"query","timestamp":1646055515322151,"duration":14.346,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"7a698d6c4ddd3fac","trace_id":"b0da07f92da13af21346ade0df4f0600","parent_id":"2005478a4a5f9e48","duration":32.422,"timestamp":1646055515430019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:38:35 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"9c6acd1d23baf321","transaction_id":"a1e67201db72d1a3","parent_id":"a1e67201db72d1a3","trace_id":"67af47904dced0bc5f302686fc1c99c1","subtype":"postgresql","action":"query","timestamp":1646055515449399,"duration":18.857,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"4dba6c0befd4c78e","transaction_id":"a1e67201db72d1a3","parent_id":"a1e67201db72d1a3","trace_id":"67af47904dced0bc5f302686fc1c99c1","subtype":"postgresql","action":"query","timestamp":1646055515470931,"duration":9.225,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"270b9d8d77838d62","transaction_id":"a1e67201db72d1a3","parent_id":"a1e67201db72d1a3","trace_id":"67af47904dced0bc5f302686fc1c99c1","subtype":"postgresql","action":"query","timestamp":1646055515474133,"duration":9.249,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"a1e67201db72d1a3","trace_id":"67af47904dced0bc5f302686fc1c99c1","duration":53.272,"timestamp":1646055515439020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:38:35 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"22ab01128289e0c8","transaction_id":"a1e67201db72d1a3","parent_id":"a1e67201db72d1a3","trace_id":"67af47904dced0bc5f302686fc1c99c1","subtype":"postgresql","action":"query","timestamp":1646055515476704,"duration":11.4,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b6c17799776e4673","trace_id":"6f92a1203acfe474da4c8f13579c8537","parent_id":"60b8e1cb82d217c9","duration":54.506,"timestamp":1646055515562022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-6f92a1203acfe474da4c8f13579c8537-60b8e1cb82d217c9-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-6f92a1203acfe474da4c8f13579c8537-60b8e1cb82d217c9-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:35 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"309","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"23af1314900f632b","transaction_id":"b6c17799776e4673","parent_id":"b6c17799776e4673","trace_id":"6f92a1203acfe474da4c8f13579c8537","subtype":"http","action":"GET","timestamp":1646055515566629,"duration":45.01,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"cc8d718aa09c6577","transaction_id":"4af847d12465d002","parent_id":"4af847d12465d002","trace_id":"7e82b45c4499baadb96330ab249aa12a","subtype":"postgresql","action":"query","timestamp":1646055515787894,"duration":10.1,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"7ad3836541555657","transaction_id":"4af847d12465d002","parent_id":"4af847d12465d002","trace_id":"7e82b45c4499baadb96330ab249aa12a","subtype":"postgresql","action":"query","timestamp":1646055515790206,"duration":10.717,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"3dd76ac925b4e988","transaction_id":"4af847d12465d002","parent_id":"4af847d12465d002","trace_id":"7e82b45c4499baadb96330ab249aa12a","subtype":"postgresql","action":"query","timestamp":1646055515792398,"duration":11.104,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"9a463b242f635349","trace_id":"09273ca90df6ecdfad8985cbe271c065","parent_id":"758180f915d391d9","duration":47.392,"timestamp":1646055515770019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/924","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/924","full":"http://opbeans-node:3000/api/customers/924"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-09273ca90df6ecdfad8985cbe271c065-758180f915d391d9-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-09273ca90df6ecdfad8985cbe271c065-758180f915d391d9-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:35 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"206","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"0616ef81ead0861d","transaction_id":"9a463b242f635349","parent_id":"9a463b242f635349","trace_id":"09273ca90df6ecdfad8985cbe271c065","subtype":"http","action":"GET","timestamp":1646055515776076,"duration":34.501,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers/924"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"97355032aef0b228","transaction_id":"4af847d12465d002","parent_id":"4af847d12465d002","trace_id":"7e82b45c4499baadb96330ab249aa12a","subtype":"postgresql","action":"query","timestamp":1646055515849175,"duration":3.344,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"e089a7e81d8207a3","transaction_id":"4af847d12465d002","parent_id":"4af847d12465d002","trace_id":"7e82b45c4499baadb96330ab249aa12a","subtype":"postgresql","action":"query","timestamp":1646055515866624,"duration":9.04,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"4af847d12465d002","trace_id":"7e82b45c4499baadb96330ab249aa12a","parent_id":"054dd549e69d50cb","duration":100.268,"timestamp":1646055515782118,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-7e82b45c4499baadb96330ab249aa12a-054dd549e69d50cb-01","elastic-apm-traceparent":"00-7e82b45c4499baadb96330ab249aa12a-054dd549e69d50cb-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:38:35 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"dd59ca964710ca17","transaction_id":"4af847d12465d002","parent_id":"4af847d12465d002","trace_id":"7e82b45c4499baadb96330ab249aa12a","subtype":"postgresql","action":"query","timestamp":1646055515859614,"duration":10.226,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"30f75a10757a65d8","transaction_id":"4af847d12465d002","parent_id":"4af847d12465d002","trace_id":"7e82b45c4499baadb96330ab249aa12a","subtype":"postgresql","action":"query","timestamp":1646055515862929,"duration":10.021,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"POST /api","type":"request","result":"HTTP 4xx","id":"a338082d878870ca","trace_id":"a0bd7356ed711045cc620133c662fc04","duration":213.298,"timestamp":1646055515946023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"POST","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","accept":"application/json","content-type":"application/json","content-length":"128","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"},"body":"[REDACTED]"},"response":{"status_code":400,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:38:36 GMT","content-length":"0","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"3e8dafa1ad4b7e79","trace_id":"4b27baef14872102fbae512be50fecbd","parent_id":"e32a4ef72d8c721c","duration":62.694,"timestamp":1646055516122027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/1","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/1","full":"http://opbeans-go:3000/api/products/1"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-4b27baef14872102fbae512be50fecbd-e32a4ef72d8c721c-01","traceparent":"00-4b27baef14872102fbae512be50fecbd-e32a4ef72d8c721c-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"231","etag":"W/\"e7-6JlJegaJ+ir0C8I8EmmOjms1dnc\"","date":"Mon, 28 Feb 2022 13:38:36 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"fed7877f54f9d675","transaction_id":"3e8dafa1ad4b7e79","parent_id":"3e8dafa1ad4b7e79","trace_id":"4b27baef14872102fbae512be50fecbd","subtype":"postgresql","action":"query","timestamp":1646055516134708,"duration":41.374,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"POST opbeans-go:3000","type":"external","id":"051c27b8880be1e7","transaction_id":"a338082d878870ca","parent_id":"a338082d878870ca","trace_id":"a0bd7356ed711045cc620133c662fc04","subtype":"http","action":"POST","timestamp":1646055516112533,"duration":36.019,"context":{"http":{"method":"POST","status_code":400,"url":"http://opbeans-go:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":75,"function":"serveStatic","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/body-parser/lib/read.js","lineno":130,"function":"","library_frame":true,"abs_path":"/app/node_modules/body-parser/lib/read.js"},{"filename":"node_modules/raw-body/index.js","lineno":224,"function":"invokeCallback","library_frame":true,"abs_path":"/app/node_modules/raw-body/index.js"},{"filename":"node_modules/raw-body/index.js","lineno":213,"function":"done","library_frame":true,"abs_path":"/app/node_modules/raw-body/index.js"},{"filename":"node_modules/raw-body/index.js","lineno":273,"function":"onEnd","library_frame":true,"abs_path":"/app/node_modules/raw-body/index.js"},{"filename":"events.js","lineno":412,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":1334,"function":"endReadableNT","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/process/task_queues.js","lineno":82,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"1f35f861aa7e723f","trace_id":"383c6bb3207030155feef26be6f72966","parent_id":"fe6603f8746bf678","duration":108.094,"timestamp":1646055516193022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-383c6bb3207030155feef26be6f72966-fe6603f8746bf678-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-383c6bb3207030155feef26be6f72966-fe6603f8746bf678-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:38:36 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"24372d3503134865","transaction_id":"1f35f861aa7e723f","parent_id":"1f35f861aa7e723f","trace_id":"383c6bb3207030155feef26be6f72966","subtype":"http","action":"GET","timestamp":1646055516207514,"duration":88.37,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"29b933aa5da9a8a9","transaction_id":"81e25516257c2988","parent_id":"81e25516257c2988","trace_id":"34d2b7e604229f35f5b3623622df0f9f","subtype":"postgresql","action":"query","timestamp":1646055516465391,"duration":6.135,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"46b6f3908db3a95d","transaction_id":"81e25516257c2988","parent_id":"81e25516257c2988","trace_id":"34d2b7e604229f35f5b3623622df0f9f","subtype":"postgresql","action":"query","timestamp":1646055516474058,"duration":5.626,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"81e25516257c2988","trace_id":"34d2b7e604229f35f5b3623622df0f9f","parent_id":"9f051ecc53a79593","duration":34.58,"timestamp":1646055516453020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/3","full":"http://opbeans-node:3000/api/types/3"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-34d2b7e604229f35f5b3623622df0f9f-9f051ecc53a79593-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-34d2b7e604229f35f5b3623622df0f9f-9f051ecc53a79593-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"189","etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","date":"Mon, 28 Feb 2022 13:38:36 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"cd0a5aae45444852","trace_id":"462e1b36465782d2dfbe3ad7edaecdea","parent_id":"9b38d910bc5094d9","duration":109.355,"timestamp":1646055516569021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/2","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/2","full":"http://opbeans-node:3000/api/types/2"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-462e1b36465782d2dfbe3ad7edaecdea-9b38d910bc5094d9-01","elastic-apm-traceparent":"00-462e1b36465782d2dfbe3ad7edaecdea-9b38d910bc5094d9-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"86dca956c4d935f7a1a446036838b927\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"40cc9cde-a88c-4c5b-82ba-6fea661017ad","x-runtime":"0.046523","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:38:36 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"794f80dca2898fd8","transaction_id":"cd0a5aae45444852","parent_id":"cd0a5aae45444852","trace_id":"462e1b36465782d2dfbe3ad7edaecdea","subtype":"http","action":"GET","timestamp":1646055516574986,"duration":87.736,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types/2"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"34a6bac390af7731","trace_id":"462e1b36465782d2dfbe3ad7edaecdea","parent_id":"f2a95f8b914ee8eb","duration":227.694,"timestamp":1646055516501028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/2","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/2","full":"http://opbeans-go:3000/api/types/2"},"headers":{"host":"opbeans-go:3000","elastic-apm-traceparent":"00-462e1b36465782d2dfbe3ad7edaecdea-f2a95f8b914ee8eb-01","traceparent":"00-462e1b36465782d2dfbe3ad7edaecdea-f2a95f8b914ee8eb-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.10","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:36 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"117","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"1ffffca7fb97c00b","transaction_id":"34a6bac390af7731","parent_id":"34a6bac390af7731","trace_id":"462e1b36465782d2dfbe3ad7edaecdea","subtype":"http","action":"GET","timestamp":1646055516510397,"duration":210.547,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types/2"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"0871d4816778c52e","trace_id":"462e1b36465782d2dfbe3ad7edaecdea","duration":382.67,"timestamp":1646055516435025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/2","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/2","full":"http://opbeans-node:3000/api/types/2"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"117","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:38:36 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"942caa7a5e73762c","transaction_id":"0871d4816778c52e","parent_id":"0871d4816778c52e","trace_id":"462e1b36465782d2dfbe3ad7edaecdea","subtype":"http","action":"GET","timestamp":1646055516446668,"duration":365.978,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types/2"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"304f9b08395fe4f1","transaction_id":"589fa594d8c505b2","parent_id":"589fa594d8c505b2","trace_id":"450f5d8eb4b19d32a96c1fd783ffe2e1","subtype":"redis","action":null,"timestamp":1646055516943593,"duration":5.028,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"a618a09ab48034e7","transaction_id":"589fa594d8c505b2","parent_id":"589fa594d8c505b2","trace_id":"450f5d8eb4b19d32a96c1fd783ffe2e1","subtype":"postgresql","action":"query","timestamp":1646055516951096,"duration":9.368,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"589fa594d8c505b2","trace_id":"450f5d8eb4b19d32a96c1fd783ffe2e1","duration":42.11,"timestamp":1646055516930024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:38:36 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"8a2383b8e3dd29e8","trace_id":"da498baa4d1fbbed7184e0735aba3ee0","parent_id":"107ab5fe98eca4d3","duration":57.361,"timestamp":1646055517063025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers","full":"http://opbeans-go:3000/api/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-da498baa4d1fbbed7184e0735aba3ee0-107ab5fe98eca4d3-01","traceparent":"00-da498baa4d1fbbed7184e0735aba3ee0-107ab5fe98eca4d3-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:38:37 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"b07602bf7a15c786","transaction_id":"8a2383b8e3dd29e8","parent_id":"8a2383b8e3dd29e8","trace_id":"da498baa4d1fbbed7184e0735aba3ee0","subtype":"http","action":"GET","timestamp":1646055517072306,"duration":35.417,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"05afe766360848a8","trace_id":"da498baa4d1fbbed7184e0735aba3ee0","parent_id":"3ac3fd4e3c520102","duration":198.459,"timestamp":1646055516982020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-da498baa4d1fbbed7184e0735aba3ee0-3ac3fd4e3c520102-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-da498baa4d1fbbed7184e0735aba3ee0-3ac3fd4e3c520102-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:38:37 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"c31db41f8eb3b9a2","transaction_id":"05afe766360848a8","parent_id":"05afe766360848a8","trace_id":"da498baa4d1fbbed7184e0735aba3ee0","subtype":"http","action":"GET","timestamp":1646055516989831,"duration":184.302,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"d8c5e6befe71532d","transaction_id":"eaea03b0c7e9a67e","parent_id":"eaea03b0c7e9a67e","trace_id":"48a21e10485694ce796f6735cfadde7d","subtype":"postgresql","action":"query","timestamp":1646055517392395,"duration":10.713,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"eaea03b0c7e9a67e","trace_id":"48a21e10485694ce796f6735cfadde7d","parent_id":"fb5810665acabd2d","duration":57.66,"timestamp":1646055517371046,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/1","full":"http://opbeans-node:3000/api/types/1"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-48a21e10485694ce796f6735cfadde7d-fb5810665acabd2d-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-48a21e10485694ce796f6735cfadde7d-fb5810665acabd2d-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"217","etag":"W/\"d9-cebOOHODBQMZd1wt+ZZBaSPgQLQ\"","date":"Mon, 28 Feb 2022 13:38:37 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"471b7c4d331c6215","transaction_id":"eaea03b0c7e9a67e","parent_id":"eaea03b0c7e9a67e","trace_id":"48a21e10485694ce796f6735cfadde7d","subtype":"postgresql","action":"query","timestamp":1646055517405868,"duration":15.214,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"20798625cffae718","transaction_id":"6b2338237c8fd0ea","parent_id":"6b2338237c8fd0ea","trace_id":"2be4f49d9236c66ff59c380b78a35081","subtype":"redis","action":null,"timestamp":1646055517468437,"duration":5.549,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"6b2338237c8fd0ea","trace_id":"2be4f49d9236c66ff59c380b78a35081","duration":142.311,"timestamp":1646055517450031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:38:37 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"87b89a429fad6deb","transaction_id":"6b2338237c8fd0ea","parent_id":"6b2338237c8fd0ea","trace_id":"2be4f49d9236c66ff59c380b78a35081","subtype":"postgresql","action":"query","timestamp":1646055517478419,"duration":62.553,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"70b5824658cc12bc","trace_id":"8d2b02aef7e84b3f006010b9aeed6139","parent_id":"91f91f36b5e2ac8b","duration":66.167,"timestamp":1646055517735038,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/399","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/399","full":"http://opbeans-go:3000/api/customers/399"},"headers":{"host":"opbeans-go:3000","user-agent":"python-requests/2.27.1","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-8d2b02aef7e84b3f006010b9aeed6139-91f91f36b5e2ac8b-01","traceparent":"00-8d2b02aef7e84b3f006010b9aeed6139-91f91f36b5e2ac8b-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.11"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:38:37 GMT","content-length":"189","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"2f36115394fdc492","transaction_id":"70b5824658cc12bc","parent_id":"70b5824658cc12bc","trace_id":"8d2b02aef7e84b3f006010b9aeed6139","subtype":"http","action":"GET","timestamp":1646055517744307,"duration":34.478,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers/399"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"db035a78b3af1652","transaction_id":"664f75ca5cf119a6","parent_id":"664f75ca5cf119a6","trace_id":"c7c6236051d70c59df647cfd46ff3187","subtype":"postgresql","action":"query","timestamp":1646055517958061,"duration":4.712,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"664f75ca5cf119a6","trace_id":"c7c6236051d70c59df647cfd46ff3187","duration":21.239,"timestamp":1646055517945028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/394","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/394","full":"http://opbeans-node:3000/api/orders/394"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:38:37 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"c52ac5f6424ee1c3","transaction_id":"25a1582af7690b04","parent_id":"25a1582af7690b04","trace_id":"2db6bab86691c73f39606e45e0ca3255","subtype":"redis","action":null,"timestamp":1646055518035562,"duration":1.803,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"25a1582af7690b04","trace_id":"2db6bab86691c73f39606e45e0ca3255","parent_id":"c10a496a06ec9e41","duration":35.872,"timestamp":1646055518028020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-2db6bab86691c73f39606e45e0ca3255-c10a496a06ec9e41-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-2db6bab86691c73f39606e45e0ca3255-c10a496a06ec9e41-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:38:38 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"ca8d3a78905dad66","transaction_id":"25a1582af7690b04","parent_id":"25a1582af7690b04","trace_id":"2db6bab86691c73f39606e45e0ca3255","subtype":"postgresql","action":"query","timestamp":1646055518040005,"duration":13.187,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"1a81d7cf30647370","transaction_id":"06fb242a365ae3d2","parent_id":"06fb242a365ae3d2","trace_id":"0818101a4da8560ba84d546768074734","subtype":"redis","action":null,"timestamp":1646055518206401,"duration":1.994,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"28d7c6db30a48686","transaction_id":"06fb242a365ae3d2","parent_id":"06fb242a365ae3d2","trace_id":"0818101a4da8560ba84d546768074734","subtype":"postgresql","action":"query","timestamp":1646055518210125,"duration":33.289,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"06fb242a365ae3d2","trace_id":"0818101a4da8560ba84d546768074734","parent_id":"e8b1d2f0e10fc736","duration":100.412,"timestamp":1646055518199019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-0818101a4da8560ba84d546768074734-e8b1d2f0e10fc736-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-0818101a4da8560ba84d546768074734-e8b1d2f0e10fc736-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:38:38 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"505fcb4dd9961f6b","trace_id":"d750fc378b96a77141c1e54079aa6800","parent_id":"88ec8a3ad786d14d","duration":39.312,"timestamp":1646055518430028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:38:38 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"1525b52f13683d27","transaction_id":"31d796d798b448ff","parent_id":"31d796d798b448ff","trace_id":"988f0c677464089af0205d3362c3ba3b","subtype":"postgresql","action":"query","timestamp":1646055518572394,"duration":5.162,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"31d796d798b448ff","trace_id":"988f0c677464089af0205d3362c3ba3b","parent_id":"ce4eb7db114dc2bc","duration":16.649,"timestamp":1646055518566016,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/928","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/928","full":"http://opbeans-node:3000/api/customers/928"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-988f0c677464089af0205d3362c3ba3b-ce4eb7db114dc2bc-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-988f0c677464089af0205d3362c3ba3b-ce4eb7db114dc2bc-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"181","etag":"W/\"b5-wlHWSpsgyrF+Kq8GyYatcMXvymo\"","date":"Mon, 28 Feb 2022 13:38:38 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"16bc267816a90dcb","transaction_id":"7adf74410d533962","parent_id":"7adf74410d533962","trace_id":"7645c73077c62235c327f2711c7e9ada","subtype":"postgresql","action":"query","timestamp":1646055518951315,"duration":23.349,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"7adf74410d533962","trace_id":"7645c73077c62235c327f2711c7e9ada","parent_id":"eeee60ffc26d13b4","duration":71.97,"timestamp":1646055518927101,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/1","full":"http://opbeans-go:3000/api/types/1"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-7645c73077c62235c327f2711c7e9ada-eeee60ffc26d13b4-01","traceparent":"00-7645c73077c62235c327f2711c7e9ada-eeee60ffc26d13b4-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"217","etag":"W/\"d9-cebOOHODBQMZd1wt+ZZBaSPgQLQ\"","date":"Mon, 28 Feb 2022 13:38:38 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"50fbd2c89d5e5591","transaction_id":"7adf74410d533962","parent_id":"7adf74410d533962","trace_id":"7645c73077c62235c327f2711c7e9ada","subtype":"postgresql","action":"query","timestamp":1646055518979918,"duration":13.991,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"af401ece2f1b46fa","trace_id":"2313e5012d721089c629ae3f256e24ed","duration":32.173,"timestamp":1646055518983023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/44","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/44","full":"http://opbeans-node:3000/api/orders/44"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:38:39 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"80bbb0784f7d0564","transaction_id":"af401ece2f1b46fa","parent_id":"af401ece2f1b46fa","trace_id":"2313e5012d721089c629ae3f256e24ed","subtype":"postgresql","action":"query","timestamp":1646055518990987,"duration":13.436,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"d46633cf57353549","transaction_id":"5ad05eca5b75ecbc","parent_id":"5ad05eca5b75ecbc","trace_id":"a5eb07db001744f566a6e6b0371a48df","subtype":"redis","action":null,"timestamp":1646055519479592,"duration":3.796,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"cff9b6bb7b67e0ec","transaction_id":"5ad05eca5b75ecbc","parent_id":"5ad05eca5b75ecbc","trace_id":"a5eb07db001744f566a6e6b0371a48df","subtype":"postgresql","action":"query","timestamp":1646055519485376,"duration":4.918,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"5ad05eca5b75ecbc","trace_id":"a5eb07db001744f566a6e6b0371a48df","duration":35.765,"timestamp":1646055519463024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:38:39 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"6cd2d36a2a118203","trace_id":"6b6ef5c9d542ea2ad14a65f2e9daa645","parent_id":"e3d1241e0c03bad1","duration":52.372,"timestamp":1646055519916027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/2","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/2","full":"http://opbeans-node:3000/api/types/2"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-6b6ef5c9d542ea2ad14a65f2e9daa645-e3d1241e0c03bad1-01","elastic-apm-traceparent":"00-6b6ef5c9d542ea2ad14a65f2e9daa645-e3d1241e0c03bad1-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"86dca956c4d935f7a1a446036838b927\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"948a8122-4465-4f7e-935a-8f11d407d2a6","x-runtime":"0.016152","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:38:39 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"fd1cff3683243a71","transaction_id":"6cd2d36a2a118203","parent_id":"6cd2d36a2a118203","trace_id":"6b6ef5c9d542ea2ad14a65f2e9daa645","subtype":"http","action":"GET","timestamp":1646055519923425,"duration":39.078,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types/2"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"899a9df484c0336c","trace_id":"6b6ef5c9d542ea2ad14a65f2e9daa645","parent_id":"71b6ac1d3e70defa","duration":602.324,"timestamp":1646055519395063,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/2","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/2","full":"http://opbeans-node:3000/api/types/2"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-6b6ef5c9d542ea2ad14a65f2e9daa645-71b6ac1d3e70defa-01","elastic-apm-traceparent":"00-6b6ef5c9d542ea2ad14a65f2e9daa645-71b6ac1d3e70defa-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:39 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"117","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"e156aa4ab5ca033f","transaction_id":"899a9df484c0336c","parent_id":"899a9df484c0336c","trace_id":"6b6ef5c9d542ea2ad14a65f2e9daa645","subtype":"http","action":"GET","timestamp":1646055519417274,"duration":575.343,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types/2"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"54c9ea910bedb0c2","trace_id":"acc9547e5579efa62a94a5c1f3faae97","duration":53.872,"timestamp":1646055520023016,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/388","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/388","full":"http://opbeans-node:3000/api/orders/388"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:40 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"324","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"82a62e8875147d82","transaction_id":"54c9ea910bedb0c2","parent_id":"54c9ea910bedb0c2","trace_id":"acc9547e5579efa62a94a5c1f3faae97","subtype":"http","action":"GET","timestamp":1646055520038056,"duration":31.36,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/orders/388"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"8fd0e3375579369f","transaction_id":"22840a77a65a30d7","parent_id":"22840a77a65a30d7","trace_id":"42b878a6ba7c0094c1d801272730a591","subtype":"postgresql","action":"query","timestamp":1646055520481999,"duration":4.075,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"22840a77a65a30d7","trace_id":"42b878a6ba7c0094c1d801272730a591","duration":13.661,"timestamp":1646055520476033,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/485","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/485","full":"http://opbeans-node:3000/api/orders/485"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:38:40 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"423783739b7097ea","transaction_id":"c6978094b771fe84","parent_id":"c6978094b771fe84","trace_id":"9d1aab10ea29787fe4dc4bc9a3caab2c","subtype":"redis","action":null,"timestamp":1646055521056578,"duration":8.985,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"c6978094b771fe84","trace_id":"9d1aab10ea29787fe4dc4bc9a3caab2c","duration":91.033,"timestamp":1646055521049032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:38:41 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"989a0a04bcdfb796","trace_id":"ab82c349e7407f8e06db0ac71bcda40a","parent_id":"42d34ad29c1ebe83","duration":180.141,"timestamp":1646055520975033,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-ab82c349e7407f8e06db0ac71bcda40a-42d34ad29c1ebe83-01","elastic-apm-traceparent":"00-ab82c349e7407f8e06db0ac71bcda40a-42d34ad29c1ebe83-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"309","content-type":"application/json","date":"Mon, 28 Feb 2022 13:38:41 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"ca70425611e4fc99","transaction_id":"c6978094b771fe84","parent_id":"c6978094b771fe84","trace_id":"9d1aab10ea29787fe4dc4bc9a3caab2c","subtype":"postgresql","action":"query","timestamp":1646055521070057,"duration":48.337,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"acf00d62a0c6b681","transaction_id":"989a0a04bcdfb796","parent_id":"989a0a04bcdfb796","trace_id":"ab82c349e7407f8e06db0ac71bcda40a","subtype":"http","action":"GET","timestamp":1646055520984795,"duration":166.181,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"39a4a1404c00190f","trace_id":"697b18e626ec527e403e88c50ab564b2","parent_id":"3089e6ef36a5f79d","duration":110.89,"timestamp":1646055521074019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3/customers","full":"http://opbeans-node:3000/api/products/3/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-697b18e626ec527e403e88c50ab564b2-3089e6ef36a5f79d-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-697b18e626ec527e403e88c50ab564b2-3089e6ef36a5f79d-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2247","etag":"W/\"8c7-DzU3uvPT9Eu5vDsXxF0AVpUtaII\"","date":"Mon, 28 Feb 2022 13:38:41 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"7163b948a1f41986","transaction_id":"39a4a1404c00190f","parent_id":"39a4a1404c00190f","trace_id":"697b18e626ec527e403e88c50ab564b2","subtype":"postgresql","action":"query","timestamp":1646055521080224,"duration":98.003,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"ae28172362ed9e88","trace_id":"50d29d94586a5e13054bfa0fdc8d1ce4","parent_id":"ce1eec01548223db","duration":72.179,"timestamp":1646055521226019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/top","full":"http://opbeans-go:3000/api/products/top"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-50d29d94586a5e13054bfa0fdc8d1ce4-ce1eec01548223db-01","traceparent":"00-50d29d94586a5e13054bfa0fdc8d1ce4-ce1eec01548223db-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"6b84b8cfae4908f93f790804f2c9e7c9\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"b2bbe5c4-12be-4b0a-9ce5-872499b62127","x-runtime":"0.033396","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:38:41 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"80a98f2794c19def","transaction_id":"ae28172362ed9e88","parent_id":"ae28172362ed9e88","trace_id":"50d29d94586a5e13054bfa0fdc8d1ce4","subtype":"http","action":"GET","timestamp":1646055521234896,"duration":58.59,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"bd7e4772c6c35e54","trace_id":"99cb842970d61ba3e69e274e42fde9b2","duration":158.005,"timestamp":1646055521473030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/137","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/137","full":"http://opbeans-node:3000/api/orders/137"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"311","content-type":"application/json","date":"Mon, 28 Feb 2022 13:38:41 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"3684858e48f04fc8","transaction_id":"bd7e4772c6c35e54","parent_id":"bd7e4772c6c35e54","trace_id":"99cb842970d61ba3e69e274e42fde9b2","subtype":"http","action":"GET","timestamp":1646055521483453,"duration":97.497,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders/137"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"498785ad75c85b57","trace_id":"2a87ad925f6dbea029fc5414926b3e54","parent_id":"6c12741376f3e5a7","duration":121.48,"timestamp":1646055521548025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3","full":"http://opbeans-node:3000/api/products/3"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-2a87ad925f6dbea029fc5414926b3e54-6c12741376f3e5a7-01","elastic-apm-traceparent":"00-2a87ad925f6dbea029fc5414926b3e54-6c12741376f3e5a7-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:41 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"248","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"30746e2d95247604","transaction_id":"498785ad75c85b57","parent_id":"498785ad75c85b57","trace_id":"2a87ad925f6dbea029fc5414926b3e54","subtype":"http","action":"GET","timestamp":1646055521552262,"duration":112.172,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/3"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"ce01821cb6cd7442","trace_id":"bfea550d9dde623a97f29d8394d52010","parent_id":"02a69a0a167f9595","duration":370.184,"timestamp":1646055521386018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/7616","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/7616","full":"http://opbeans-node:3000/api/customers/7616"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-bfea550d9dde623a97f29d8394d52010-02a69a0a167f9595-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-bfea550d9dde623a97f29d8394d52010-02a69a0a167f9595-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:41 GMT","connection":"close","content-type":"text/html","x-frame-options":"DENY","content-length":"179","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"3fbed0cce2bc461b","transaction_id":"ce01821cb6cd7442","parent_id":"ce01821cb6cd7442","trace_id":"bfea550d9dde623a97f29d8394d52010","subtype":"http","action":"GET","timestamp":1646055521391159,"duration":356.35,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-python:3000/api/customers/7616"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"ca48564c08b35aeb","transaction_id":"b7a395bcd17ce590","parent_id":"b7a395bcd17ce590","trace_id":"5b259030edd861168e1b197707dca34a","subtype":"redis","action":null,"timestamp":1646055521810738,"duration":2.394,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"b7a395bcd17ce590","trace_id":"5b259030edd861168e1b197707dca34a","parent_id":"e046a4e23bd0295c","duration":56.81,"timestamp":1646055521799018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products","full":"http://opbeans-go:3000/api/products"},"headers":{"host":"opbeans-go:3000","elastic-apm-traceparent":"00-5b259030edd861168e1b197707dca34a-e046a4e23bd0295c-01","traceparent":"00-5b259030edd861168e1b197707dca34a-e046a4e23bd0295c-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.10","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:38:41 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"3e5d6afa80b55e50","transaction_id":"b7a395bcd17ce590","parent_id":"b7a395bcd17ce590","trace_id":"5b259030edd861168e1b197707dca34a","subtype":"postgresql","action":"query","timestamp":1646055521816975,"duration":18.107,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"4fd78c45c0e3d008","trace_id":"5b259030edd861168e1b197707dca34a","parent_id":"9914b914c48ac093","duration":105.457,"timestamp":1646055521787018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-5b259030edd861168e1b197707dca34a-9914b914c48ac093-01","elastic-apm-traceparent":"00-5b259030edd861168e1b197707dca34a-9914b914c48ac093-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"1023","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:38:41 GMT","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"227e2ca5ea976e2e","transaction_id":"4fd78c45c0e3d008","parent_id":"4fd78c45c0e3d008","trace_id":"5b259030edd861168e1b197707dca34a","subtype":"http","action":"GET","timestamp":1646055521792113,"duration":82.37,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"7cfbbff85c5d19f4","trace_id":"f4117f0cf04b190bcded50b16219c451","parent_id":"2b9188760ed7e831","duration":26.145,"timestamp":1646055521964026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:38:41 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"36747e01ffc24643","transaction_id":"5124c0e412c078fe","parent_id":"5124c0e412c078fe","trace_id":"66cc7e26048214244369584c8658020a","subtype":"postgresql","action":"query","timestamp":1646055521984524,"duration":9.828,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"5124c0e412c078fe","trace_id":"66cc7e26048214244369584c8658020a","parent_id":"2a9d48386fdc4582","duration":27.017,"timestamp":1646055521978024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/597","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/597","full":"http://opbeans-node:3000/api/customers/597"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-66cc7e26048214244369584c8658020a-2a9d48386fdc4582-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-66cc7e26048214244369584c8658020a-2a9d48386fdc4582-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"191","etag":"W/\"bf-chrRuxqHBZvPPD3xAxgWWDCvs/w\"","date":"Mon, 28 Feb 2022 13:38:41 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"65eff0b327c742ca","trace_id":"c642b12a5436af1dfeb8625121b28fd0","parent_id":"daf1b2c9d0836b48","duration":96.579,"timestamp":1646055521942025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-c642b12a5436af1dfeb8625121b28fd0-daf1b2c9d0836b48-01","elastic-apm-traceparent":"00-c642b12a5436af1dfeb8625121b28fd0-daf1b2c9d0836b48-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"309","content-type":"application/json","date":"Mon, 28 Feb 2022 13:38:42 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"a7c76bf7398d3c11","transaction_id":"65eff0b327c742ca","parent_id":"65eff0b327c742ca","trace_id":"c642b12a5436af1dfeb8625121b28fd0","subtype":"http","action":"GET","timestamp":1646055521948333,"duration":85.689,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"337adb48b16356f0","transaction_id":"0d5d09e8693317d8","parent_id":"0d5d09e8693317d8","trace_id":"cf55c2c7c0efb9cfd2449cfad82ad25d","subtype":"postgresql","action":"query","timestamp":1646055522504737,"duration":3.135,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"0d5d09e8693317d8","trace_id":"cf55c2c7c0efb9cfd2449cfad82ad25d","duration":12.289,"timestamp":1646055522500026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/664","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/664","full":"http://opbeans-node:3000/api/customers/664"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"183","etag":"W/\"b7-GegolguyywpEGGN1KR7m3bCOTYo\"","date":"Mon, 28 Feb 2022 13:38:42 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"842e64013605d147","trace_id":"723c6bd8bf2cdc91d20dc3713952bec2","parent_id":"bf164b6d2606d09b","duration":48.962,"timestamp":1646055522645021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2/customers","full":"http://opbeans-node:3000/api/products/2/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-723c6bd8bf2cdc91d20dc3713952bec2-bf164b6d2606d09b-01","elastic-apm-traceparent":"00-723c6bd8bf2cdc91d20dc3713952bec2-bf164b6d2606d09b-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:42 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"110745","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"d9e4c36edb0079dd","transaction_id":"842e64013605d147","parent_id":"842e64013605d147","trace_id":"723c6bd8bf2cdc91d20dc3713952bec2","subtype":"http","action":"GET","timestamp":1646055522654938,"duration":34.939,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/2/customers"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"6f2d8e27471d274f","transaction_id":"488ca53cf8b9f143","parent_id":"488ca53cf8b9f143","trace_id":"5677803c1cedf784e50c0197a37dda1c","subtype":"postgresql","action":"query","timestamp":1646055522974222,"duration":6.791,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"488ca53cf8b9f143","trace_id":"5677803c1cedf784e50c0197a37dda1c","duration":22.294,"timestamp":1646055522969022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/56","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/56","full":"http://opbeans-node:3000/api/orders/56"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:38:42 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"0bf519991a0ea199","trace_id":"8cd0bae491e8391eb872d268656835ba","parent_id":"117e64cbdad45cf0","duration":90.603,"timestamp":1646055522920026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/top","full":"http://opbeans-go:3000/api/products/top"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-8cd0bae491e8391eb872d268656835ba-117e64cbdad45cf0-01","traceparent":"00-8cd0bae491e8391eb872d268656835ba-117e64cbdad45cf0-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:38:43 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"4d675858c71a7195","transaction_id":"0bf519991a0ea199","parent_id":"0bf519991a0ea199","trace_id":"8cd0bae491e8391eb872d268656835ba","subtype":"http","action":"GET","timestamp":1646055522926762,"duration":77.878,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"63290646cef3cb4b","transaction_id":"5931f92cf70ce4c2","parent_id":"5931f92cf70ce4c2","trace_id":"a80ba360042a2db916189deb405f87e0","subtype":"postgresql","action":"query","timestamp":1646055523087078,"duration":7.036,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"5931f92cf70ce4c2","trace_id":"a80ba360042a2db916189deb405f87e0","parent_id":"b1b642e005bf2897","duration":30.678,"timestamp":1646055523073026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3/customers","full":"http://opbeans-node:3000/api/products/3/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-a80ba360042a2db916189deb405f87e0-b1b642e005bf2897-01","elastic-apm-traceparent":"00-a80ba360042a2db916189deb405f87e0-b1b642e005bf2897-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2247","etag":"W/\"8c7-DzU3uvPT9Eu5vDsXxF0AVpUtaII\"","date":"Mon, 28 Feb 2022 13:38:43 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"ea553a0762b5a119","transaction_id":"5594b6f67b8aca4b","parent_id":"5594b6f67b8aca4b","trace_id":"490d3e795f0b2f33fbfdced3d4e24f9b","subtype":"postgresql","action":"query","timestamp":1646055523202928,"duration":9.195,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"5594b6f67b8aca4b","trace_id":"490d3e795f0b2f33fbfdced3d4e24f9b","parent_id":"ffd5dc26b8916806","duration":27.818,"timestamp":1646055523194017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/5/customers","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"python-requests/2.27.1","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-490d3e795f0b2f33fbfdced3d4e24f9b-ffd5dc26b8916806-01","traceparent":"00-490d3e795f0b2f33fbfdced3d4e24f9b-ffd5dc26b8916806-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.11"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:38:43 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"35baaa194c1a0621","trace_id":"8d46ae5185790ae00b53659be51bd28d","duration":39.896,"timestamp":1646055523487031,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:38:43 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"afa36c6d83028dc0","transaction_id":"a369ea44d91ded0d","parent_id":"a369ea44d91ded0d","trace_id":"d4d67cdc1561ea2a3ff41d08876ec07f","subtype":"redis","action":null,"timestamp":1646055523652759,"duration":2.061,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"ea1d5f775a61fe1a","transaction_id":"a369ea44d91ded0d","parent_id":"a369ea44d91ded0d","trace_id":"d4d67cdc1561ea2a3ff41d08876ec07f","subtype":"postgresql","action":"query","timestamp":1646055523656426,"duration":5.443,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"a369ea44d91ded0d","trace_id":"d4d67cdc1561ea2a3ff41d08876ec07f","parent_id":"be33a60e22847497","duration":20.014,"timestamp":1646055523648021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders","full":"http://opbeans-go:3000/api/orders"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-d4d67cdc1561ea2a3ff41d08876ec07f-be33a60e22847497-01","traceparent":"00-d4d67cdc1561ea2a3ff41d08876ec07f-be33a60e22847497-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:38:43 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"5d54176c00d55d10","transaction_id":"4ea49e1ae0ab11b4","parent_id":"4ea49e1ae0ab11b4","trace_id":"e27f2915943739929738a223f96d83e6","subtype":"redis","action":null,"timestamp":1646055523879694,"duration":1.746,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"d186fb17e716815c","transaction_id":"4ea49e1ae0ab11b4","parent_id":"4ea49e1ae0ab11b4","trace_id":"e27f2915943739929738a223f96d83e6","subtype":"postgresql","action":"query","timestamp":1646055523882851,"duration":2.12,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"4ea49e1ae0ab11b4","trace_id":"e27f2915943739929738a223f96d83e6","parent_id":"59cfe1f24459d7bb","duration":13.306,"timestamp":1646055523875017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-e27f2915943739929738a223f96d83e6-59cfe1f24459d7bb-01","elastic-apm-traceparent":"00-e27f2915943739929738a223f96d83e6-59cfe1f24459d7bb-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:38:43 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b15f22041c8a859e","trace_id":"db4c4df8e87ecbd75073399789db915d","parent_id":"82c7c1c55849c735","duration":97.007,"timestamp":1646055523921021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/top","full":"http://opbeans-go:3000/api/products/top"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-db4c4df8e87ecbd75073399789db915d-82c7c1c55849c735-01","traceparent":"00-db4c4df8e87ecbd75073399789db915d-82c7c1c55849c735-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:43 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"309","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"798204d6f922c608","transaction_id":"b15f22041c8a859e","parent_id":"b15f22041c8a859e","trace_id":"db4c4df8e87ecbd75073399789db915d","subtype":"http","action":"GET","timestamp":1646055523925966,"duration":81.673,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"e5a547c30a4364ab","trace_id":"3ace2b06add51742bd07dcddccdb633c","parent_id":"f1e125b16596c691","duration":49.983,"timestamp":1646055524290036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/stats","full":"http://opbeans-go:3000/api/stats"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-3ace2b06add51742bd07dcddccdb633c-f1e125b16596c691-01","traceparent":"00-3ace2b06add51742bd07dcddccdb633c-f1e125b16596c691-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"6609a09f-067d-4da0-8bc9-3f84fb718d53","x-runtime":"0.019111","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:38:44 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"37b1ca1f4852819c","transaction_id":"e5a547c30a4364ab","parent_id":"e5a547c30a4364ab","trace_id":"3ace2b06add51742bd07dcddccdb633c","subtype":"http","action":"GET","timestamp":1646055524295625,"duration":38.546,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"eb1f7aa4a12f55f5","trace_id":"ec2b7ea55cad3dcea73080fb16f44fd8","duration":75.806,"timestamp":1646055524464020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4","full":"http://opbeans-node:3000/api/products/4"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:44 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"260","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"d6dfae9fb65049fc","transaction_id":"eb1f7aa4a12f55f5","parent_id":"eb1f7aa4a12f55f5","trace_id":"ec2b7ea55cad3dcea73080fb16f44fd8","subtype":"http","action":"GET","timestamp":1646055524468203,"duration":67.075,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/4"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"5bb35fc2d6e806be","transaction_id":"e42360f01303e202","parent_id":"e42360f01303e202","trace_id":"38b002587821f14aa1c8a5e843f5994b","subtype":"postgresql","action":"query","timestamp":1646055524575928,"duration":3.154,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"e42360f01303e202","trace_id":"38b002587821f14aa1c8a5e843f5994b","parent_id":"e1ec70791d6dd262","duration":15.456,"timestamp":1646055524567024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4","full":"http://opbeans-node:3000/api/products/4"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-38b002587821f14aa1c8a5e843f5994b-e1ec70791d6dd262-01","elastic-apm-traceparent":"00-38b002587821f14aa1c8a5e843f5994b-e1ec70791d6dd262-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"243","etag":"W/\"f3-6sVO4eOixKeSqLsiOclAUoIfJnQ\"","date":"Mon, 28 Feb 2022 13:38:44 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"4116a55b0e255a0e","trace_id":"1619eff8f8572d1aed899c99f0609f68","parent_id":"5f3c83251f32376d","duration":52.239,"timestamp":1646055524637017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4","full":"http://opbeans-node:3000/api/products/4"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-1619eff8f8572d1aed899c99f0609f68-5f3c83251f32376d-01","elastic-apm-traceparent":"00-1619eff8f8572d1aed899c99f0609f68-5f3c83251f32376d-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","cache-control":"max-age=0, private, must-revalidate","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:38:44 GMT","etag":"W/\"4059e1403ac9698d997e25789af2cf26\"","referrer-policy":"strict-origin-when-cross-origin","x-content-type-options":"nosniff","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-request-id":"6af6376b-8d92-4ca9-b522-322f0ef9a838","x-runtime":"0.020259","x-xss-protection":"1; mode=block","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"e7ee71a969383b39","transaction_id":"4116a55b0e255a0e","parent_id":"4116a55b0e255a0e","trace_id":"1619eff8f8572d1aed899c99f0609f68","subtype":"http","action":"GET","timestamp":1646055524641620,"duration":37.48,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/4"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"0d75d82ae0716a29","transaction_id":"49f454ff094dc83f","parent_id":"49f454ff094dc83f","trace_id":"5ddb088e8fb33b4b1da0db5e2ab62c91","subtype":"postgresql","action":"query","timestamp":1646055524967515,"duration":4.774,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"49f454ff094dc83f","trace_id":"5ddb088e8fb33b4b1da0db5e2ab62c91","duration":15.479,"timestamp":1646055524963022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4","full":"http://opbeans-node:3000/api/products/4"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"243","etag":"W/\"f3-6sVO4eOixKeSqLsiOclAUoIfJnQ\"","date":"Mon, 28 Feb 2022 13:38:44 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"OPTIONS unknown route","type":"request","result":"HTTP 2xx","id":"a3d57238ede27f7a","trace_id":"03d11bf4290f79446fa613b1f3391697","duration":14.744,"timestamp":1646055525480064,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"OPTIONS","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","content-length":"0","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","allow":"GET,HEAD","content-type":"text/html; charset=utf-8","content-length":"8","etag":"W/\"8-ZRAf8oNBS3Bjb/SU2GYZCmbtmXg\"","date":"Mon, 28 Feb 2022 13:38:45 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"4b04ea01975cee7f","trace_id":"6bb51101e38d951fa154ddc30085f040","parent_id":"3b22db9be7167212","duration":10.314,"timestamp":1646055525535018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:38:45 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"bd84d2d4589cbc31","transaction_id":"1212686f58b12306","parent_id":"1212686f58b12306","trace_id":"bb7c96984e5283cde6449059daf2a470","subtype":"postgresql","action":"query","timestamp":1646055526004044,"duration":20.659,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"55517e54d278ef62","transaction_id":"1212686f58b12306","parent_id":"1212686f58b12306","trace_id":"bb7c96984e5283cde6449059daf2a470","subtype":"postgresql","action":"query","timestamp":1646055526010531,"duration":24.677,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"2924bb499dd67621","transaction_id":"1212686f58b12306","parent_id":"1212686f58b12306","trace_id":"bb7c96984e5283cde6449059daf2a470","subtype":"postgresql","action":"query","timestamp":1646055526052000,"duration":11.443,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"f8898efca21ecce2","transaction_id":"1212686f58b12306","parent_id":"1212686f58b12306","trace_id":"bb7c96984e5283cde6449059daf2a470","subtype":"postgresql","action":"query","timestamp":1646055526057615,"duration":19.996,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"1a690f0fc4cd5813","transaction_id":"1212686f58b12306","parent_id":"1212686f58b12306","trace_id":"bb7c96984e5283cde6449059daf2a470","subtype":"postgresql","action":"query","timestamp":1646055526086004,"duration":8.914,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"10ab68db898954fa","transaction_id":"1212686f58b12306","parent_id":"1212686f58b12306","trace_id":"bb7c96984e5283cde6449059daf2a470","subtype":"postgresql","action":"query","timestamp":1646055526089396,"duration":7.194,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"a8039d96f176a5d8","transaction_id":"1212686f58b12306","parent_id":"1212686f58b12306","trace_id":"bb7c96984e5283cde6449059daf2a470","subtype":"postgresql","action":"query","timestamp":1646055526091257,"duration":6.851,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"1212686f58b12306","trace_id":"bb7c96984e5283cde6449059daf2a470","parent_id":"ac669498c0734764","duration":114.291,"timestamp":1646055525990018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/stats","full":"http://opbeans-go:3000/api/stats"},"headers":{"host":"opbeans-go:3000","elastic-apm-traceparent":"00-bb7c96984e5283cde6449059daf2a470-ac669498c0734764-01","traceparent":"00-bb7c96984e5283cde6449059daf2a470-ac669498c0734764-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.10","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:38:46 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"06ed9d49ab01419c","trace_id":"bb7c96984e5283cde6449059daf2a470","duration":153.95,"timestamp":1646055525965030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"108","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:38:46 GMT","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"43accbcc5153a456","transaction_id":"06ed9d49ab01419c","parent_id":"06ed9d49ab01419c","trace_id":"bb7c96984e5283cde6449059daf2a470","subtype":"http","action":"GET","timestamp":1646055525977761,"duration":132.493,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"3ed094cab6b2460d","transaction_id":"f48a84f46bd35ab1","parent_id":"f48a84f46bd35ab1","trace_id":"527256c8a3d41edead201537f012b20b","subtype":"redis","action":null,"timestamp":1646055526472851,"duration":5.621,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"38651a3d916dcb94","transaction_id":"f48a84f46bd35ab1","parent_id":"f48a84f46bd35ab1","trace_id":"527256c8a3d41edead201537f012b20b","subtype":"postgresql","action":"query","timestamp":1646055526479988,"duration":7.644,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"f48a84f46bd35ab1","trace_id":"527256c8a3d41edead201537f012b20b","duration":31.128,"timestamp":1646055526465038,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:38:46 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"9510095cf002b870","trace_id":"fd99b7c60e9106dfaea5b2ad3cbdb947","parent_id":"0d2d152a10b3137f","duration":4856.053,"timestamp":1646055522133030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-fd99b7c60e9106dfaea5b2ad3cbdb947-0d2d152a10b3137f-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-fd99b7c60e9106dfaea5b2ad3cbdb947-0d2d152a10b3137f-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:46 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"108580","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"9833fe2aecab2830","transaction_id":"9510095cf002b870","parent_id":"9510095cf002b870","trace_id":"fd99b7c60e9106dfaea5b2ad3cbdb947","subtype":"http","action":"GET","timestamp":1646055522139948,"duration":4841.67,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"17f3f1009317060e","trace_id":"5da63d92ebf789d551dcff4a8eae6acb","parent_id":"e1a2bd0907ded26d","duration":1898.611,"timestamp":1646055525117028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/1","full":"http://opbeans-node:3000/api/types/1"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-5da63d92ebf789d551dcff4a8eae6acb-e1a2bd0907ded26d-01","elastic-apm-traceparent":"00-5da63d92ebf789d551dcff4a8eae6acb-e1a2bd0907ded26d-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:46 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"233","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"0b3b88b7149ec9bd","transaction_id":"17f3f1009317060e","parent_id":"17f3f1009317060e","trace_id":"5da63d92ebf789d551dcff4a8eae6acb","subtype":"http","action":"GET","timestamp":1646055525121739,"duration":1888.918,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types/1"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"71ebefcef4d85aa1","transaction_id":"4fdab4329398ca65","parent_id":"4fdab4329398ca65","trace_id":"1886cf32fe3220d9edac19753cbb5e32","subtype":"postgresql","action":"query","timestamp":1646055527041867,"duration":4.623,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"4fdab4329398ca65","trace_id":"1886cf32fe3220d9edac19753cbb5e32","duration":39.239,"timestamp":1646055527035017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:38:47 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"421dc942a10feb85","transaction_id":"4fdab4329398ca65","parent_id":"4fdab4329398ca65","trace_id":"1886cf32fe3220d9edac19753cbb5e32","subtype":"postgresql","action":"query","timestamp":1646055527048134,"duration":13.339,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"dadae94233b17b1b","transaction_id":"4fdab4329398ca65","parent_id":"4fdab4329398ca65","trace_id":"1886cf32fe3220d9edac19753cbb5e32","subtype":"postgresql","action":"query","timestamp":1646055527051886,"duration":15.112,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"c4eb821079e713e3","transaction_id":"4fdab4329398ca65","parent_id":"4fdab4329398ca65","trace_id":"1886cf32fe3220d9edac19753cbb5e32","subtype":"postgresql","action":"query","timestamp":1646055527053973,"duration":15.554,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"52f7b30e0afc2234","transaction_id":"698328f38eba975e","parent_id":"698328f38eba975e","trace_id":"cafc35f232363ed786d4c92a8baf1395","subtype":"http","action":"GET","timestamp":1646055527091049,"duration":8.198,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types/3"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"698328f38eba975e","trace_id":"cafc35f232363ed786d4c92a8baf1395","parent_id":"f984cda0b776d0d2","duration":15.773,"timestamp":1646055527086014,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/3","full":"http://opbeans-go:3000/api/types/3"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-cafc35f232363ed786d4c92a8baf1395-f984cda0b776d0d2-01","traceparent":"00-cafc35f232363ed786d4c92a8baf1395-f984cda0b776d0d2-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:38:47 GMT","content-length":"35","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"552b0bad44a4a25c","trace_id":"9ab7ef5d0e6e4dcef0c39ccd0dc75867","parent_id":"9b43c2c1db6e5a8f","duration":58.563,"timestamp":1646055527297051,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/964","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/964","full":"http://opbeans-node:3000/api/orders/964"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-9ab7ef5d0e6e4dcef0c39ccd0dc75867-9b43c2c1db6e5a8f-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-9ab7ef5d0e6e4dcef0c39ccd0dc75867-9b43c2c1db6e5a8f-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:38:47 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"1074e3acda9da496","transaction_id":"552b0bad44a4a25c","parent_id":"552b0bad44a4a25c","trace_id":"9ab7ef5d0e6e4dcef0c39ccd0dc75867","subtype":"postgresql","action":"query","timestamp":1646055527319825,"duration":10.801,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"e0cbb455ec39552b","trace_id":"72091ff7ee2276a5164d7de21e48487d","parent_id":"c71170559cd06bdc","duration":161.97,"timestamp":1646055527510016,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-72091ff7ee2276a5164d7de21e48487d-c71170559cd06bdc-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-72091ff7ee2276a5164d7de21e48487d-c71170559cd06bdc-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"128","content-type":"application/json","date":"Mon, 28 Feb 2022 13:38:47 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"3852075e128c60b0","transaction_id":"e0cbb455ec39552b","parent_id":"e0cbb455ec39552b","trace_id":"72091ff7ee2276a5164d7de21e48487d","subtype":"http","action":"GET","timestamp":1646055527513078,"duration":138.777,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"065075275198359f","trace_id":"72091ff7ee2276a5164d7de21e48487d","duration":243.752,"timestamp":1646055527469022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","date":"Mon, 28 Feb 2022 13:38:47 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"7df2fafb4101bbff","transaction_id":"065075275198359f","parent_id":"065075275198359f","trace_id":"72091ff7ee2276a5164d7de21e48487d","subtype":"http","action":"GET","timestamp":1646055527474953,"duration":230.456,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"92bfe4de4d0d0502","transaction_id":"83072921ad84f76f","parent_id":"83072921ad84f76f","trace_id":"c6716c67dfd1095cf36df41ddff28ca3","subtype":"postgresql","action":"query","timestamp":1646055527938879,"duration":7.474,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"83072921ad84f76f","trace_id":"c6716c67dfd1095cf36df41ddff28ca3","parent_id":"75a3b87ff54ae498","duration":34.875,"timestamp":1646055527933050,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/6/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/6/customers","full":"http://opbeans-node:3000/api/products/6/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-c6716c67dfd1095cf36df41ddff28ca3-75a3b87ff54ae498-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-c6716c67dfd1095cf36df41ddff28ca3-75a3b87ff54ae498-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:38:47 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"4dca336b19a27118","transaction_id":"9a4739b117027a67","parent_id":"9a4739b117027a67","trace_id":"2ca014ac8027c4cdb5d20839ba0d18aa","subtype":"postgresql","action":"query","timestamp":1646055527982921,"duration":10.268,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"af6e70a0751abd13","transaction_id":"9a4739b117027a67","parent_id":"9a4739b117027a67","trace_id":"2ca014ac8027c4cdb5d20839ba0d18aa","subtype":"postgresql","action":"query","timestamp":1646055527985151,"duration":11.178,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"8bc28c7e86d4cf61","transaction_id":"9a4739b117027a67","parent_id":"9a4739b117027a67","trace_id":"2ca014ac8027c4cdb5d20839ba0d18aa","subtype":"postgresql","action":"query","timestamp":1646055527987029,"duration":11.896,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"065f3928c7749874","transaction_id":"9a4739b117027a67","parent_id":"9a4739b117027a67","trace_id":"2ca014ac8027c4cdb5d20839ba0d18aa","subtype":"postgresql","action":"query","timestamp":1646055527988702,"duration":13.384,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"a52472e9f0d33e3a","transaction_id":"9a4739b117027a67","parent_id":"9a4739b117027a67","trace_id":"2ca014ac8027c4cdb5d20839ba0d18aa","subtype":"postgresql","action":"query","timestamp":1646055528008879,"duration":5.457,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"9a4739b117027a67","trace_id":"2ca014ac8027c4cdb5d20839ba0d18aa","duration":52.029,"timestamp":1646055527977017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:38:48 GMT","connection":"close"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"976b0bfc62492bb5","transaction_id":"9a4739b117027a67","parent_id":"9a4739b117027a67","trace_id":"2ca014ac8027c4cdb5d20839ba0d18aa","subtype":"postgresql","action":"query","timestamp":1646055528006625,"duration":10.08,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"c2133231cb0001dc","transaction_id":"9a4739b117027a67","parent_id":"9a4739b117027a67","trace_id":"2ca014ac8027c4cdb5d20839ba0d18aa","subtype":"postgresql","action":"query","timestamp":1646055528004469,"duration":18.602,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"e3012b9c4fbea169","transaction_id":"0affa88e741e56fc","parent_id":"0affa88e741e56fc","trace_id":"8983d970ac27980fc0a6392a0a30f126","subtype":"redis","action":null,"timestamp":1646055528100632,"duration":4.767,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"85badc082eb70a08","transaction_id":"0affa88e741e56fc","parent_id":"0affa88e741e56fc","trace_id":"8983d970ac27980fc0a6392a0a30f126","subtype":"postgresql","action":"query","timestamp":1646055528111773,"duration":3.804,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"0affa88e741e56fc","trace_id":"8983d970ac27980fc0a6392a0a30f126","parent_id":"146f9f782d5f3ae9","duration":41.314,"timestamp":1646055528084026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-8983d970ac27980fc0a6392a0a30f126-146f9f782d5f3ae9-01","elastic-apm-traceparent":"00-8983d970ac27980fc0a6392a0a30f126-146f9f782d5f3ae9-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:38:48 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"394b9ca2a96e35e5","transaction_id":"22fad5670b0b9fd8","parent_id":"22fad5670b0b9fd8","trace_id":"46b8114cf767a9b6b2222c9f74e41436","subtype":"postgresql","action":"query","timestamp":1646055528240217,"duration":6.739,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"22fad5670b0b9fd8","trace_id":"46b8114cf767a9b6b2222c9f74e41436","parent_id":"4760a3cd9e0a7f8d","duration":24.378,"timestamp":1646055528231019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/153","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/153","full":"http://opbeans-node:3000/api/customers/153"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-46b8114cf767a9b6b2222c9f74e41436-4760a3cd9e0a7f8d-01","elastic-apm-traceparent":"00-46b8114cf767a9b6b2222c9f74e41436-4760a3cd9e0a7f8d-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"175","etag":"W/\"af-jWgzEQszfb+OGJ8P8wJbwvNJIXY\"","date":"Mon, 28 Feb 2022 13:38:48 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"Validate CC","type":"custom","id":"43fa40bf09e278c4","transaction_id":"54d661e88ccc1609","parent_id":"54d661e88ccc1609","trace_id":"6213e03958d0935b92189330a4c3dbec","subtype":null,"action":null,"timestamp":1646055528323659,"duration":272.185,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":23,"function":"processPayment","library_frame":false,"abs_path":"/app/worker.js","pre_context":[""," apm.startTransaction('Process payment', 'Worker')"],"context_line":" performSubTasks(['Validate CC', 'Reserve funds'], function () {","post_context":[" apm.endTransaction()"," queue(processPayment)"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"ec5bc6aeb3f9c959","trace_id":"80886e873e2abf69d067804c50284721","duration":40.286,"timestamp":1646055528980035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:38:48 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"c30de5d853fd61da","transaction_id":"ec5bc6aeb3f9c959","parent_id":"ec5bc6aeb3f9c959","trace_id":"80886e873e2abf69d067804c50284721","subtype":"http","action":"GET","timestamp":1646055528986715,"duration":23.635,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"e544454baf04edc3","trace_id":"5187a22f5ef239f643f6b660688e389e","duration":5168.289,"timestamp":1646055523971021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:38:49 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"108580","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"b75d7bc1af7a3b43","transaction_id":"e544454baf04edc3","parent_id":"e544454baf04edc3","trace_id":"5187a22f5ef239f643f6b660688e389e","subtype":"http","action":"GET","timestamp":1646055523995318,"duration":5137.108,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"3a7046fcf0e7f232","trace_id":"89ba6319802fdab3ca59513b4b4724c2","parent_id":"01d43bd4b91bcc2c","duration":10.034,"timestamp":1646055529472028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:38:49 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"Process payment","type":"Worker","result":"success","id":"54d661e88ccc1609","trace_id":"6213e03958d0935b92189330a4c3dbec","duration":1231.791,"timestamp":1646055528320040,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{}},"span_count":{"started":2},"outcome":"unknown","sample_rate":1}} +{"span":{"name":"Reserve funds","type":"custom","id":"42b0caabdc9907b6","transaction_id":"54d661e88ccc1609","parent_id":"54d661e88ccc1609","trace_id":"6213e03958d0935b92189330a4c3dbec","subtype":null,"action":null,"timestamp":1646055528610909,"duration":938.179,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":55,"function":"Timeout._onTimeout","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"],"context_line":" performSubTasks(tasks, cb)","post_context":[" }, Math.random() * 20).unref()"," })"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"0079b1d6ea89b482","transaction_id":"4c97f9e6214a22de","parent_id":"4c97f9e6214a22de","trace_id":"1abce10a08a704ff0d98188dfbeb98e3","subtype":"postgresql","action":"query","timestamp":1646055529561375,"duration":5.437,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"4c97f9e6214a22de","trace_id":"1abce10a08a704ff0d98188dfbeb98e3","parent_id":"bf758eadf2bc3497","duration":59.716,"timestamp":1646055529546031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/1","full":"http://opbeans-go:3000/api/types/1"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-1abce10a08a704ff0d98188dfbeb98e3-bf758eadf2bc3497-01","traceparent":"00-1abce10a08a704ff0d98188dfbeb98e3-bf758eadf2bc3497-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"217","etag":"W/\"d9-cebOOHODBQMZd1wt+ZZBaSPgQLQ\"","date":"Mon, 28 Feb 2022 13:38:49 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"7e4a593475d80bb1","transaction_id":"4c97f9e6214a22de","parent_id":"4c97f9e6214a22de","trace_id":"1abce10a08a704ff0d98188dfbeb98e3","subtype":"postgresql","action":"query","timestamp":1646055529568430,"duration":13.275,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"0ada24d1447a011e","trace_id":"9f555c14a01f5411182ba74b8fbde823","parent_id":"3ae073b5963c7f8a","duration":65.948,"timestamp":1646055535637341,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:38:55 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-error","type":"request","result":"HTTP 5xx","id":"687cd067696aac93","trace_id":"bd28a48c28748cd623749e883bc8793b","duration":100.909,"timestamp":1646055536669025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-error","full":"http://opbeans-node:3000/log-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:38:56 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"f4cff5e6a1204384","trace_id":"ab15f5dbf7e2f6417ae22f78b88bde06","duration":19.935,"timestamp":1646055537174042,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:38:57 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"1c9b6b0c37ceb13d","transaction_id":"826ff0f165dd4687","parent_id":"826ff0f165dd4687","trace_id":"d6fa0304efbedac7f0d9c7b5f80b4414","subtype":"redis","action":null,"timestamp":1646055538196832,"duration":5.751,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"826ff0f165dd4687","trace_id":"d6fa0304efbedac7f0d9c7b5f80b4414","duration":104.249,"timestamp":1646055538180066,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:38:58 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"f83fc107122c3803","transaction_id":"826ff0f165dd4687","parent_id":"826ff0f165dd4687","trace_id":"d6fa0304efbedac7f0d9c7b5f80b4414","subtype":"postgresql","action":"query","timestamp":1646055538241958,"duration":24.866,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"e425fad8d6669961","trace_id":"3b967836cbae3b269de989c4dd4182c7","duration":43.216,"timestamp":1646055538674024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:38:58 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"ec668f4166e766b3","transaction_id":"e425fad8d6669961","parent_id":"e425fad8d6669961","trace_id":"3b967836cbae3b269de989c4dd4182c7","subtype":"http","action":"GET","timestamp":1646055538680194,"duration":25.601,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"9a0b3535f8fef2c5","trace_id":"a53b998895a3ef636a506727b698e6d8","duration":26.381,"timestamp":1646055539184077,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:38:59 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"OPTIONS unknown route","type":"request","result":"HTTP 2xx","id":"c7d6a6cbcb7277b6","trace_id":"0656fd3a23af3d5a48d290990abfccdb","duration":10.834,"timestamp":1646055539676026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"OPTIONS","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","content-length":"0","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","allow":"GET,HEAD","content-type":"text/html; charset=utf-8","content-length":"8","etag":"W/\"8-ZRAf8oNBS3Bjb/SU2GYZCmbtmXg\"","date":"Mon, 28 Feb 2022 13:38:59 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-message","type":"request","result":"HTTP 5xx","id":"45d81fbb9254ea6e","trace_id":"16f85f752f7d6e5e5948ad507bb651e1","duration":43.318,"timestamp":1646055540177035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-message","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-message","full":"http://opbeans-node:3000/log-message"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:39:00 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"2c7a90c2066eb121","transaction_id":"6082af4d9c770efc","parent_id":"6082af4d9c770efc","trace_id":"46843c8798926899b0ebb14b45433637","subtype":"redis","action":null,"timestamp":1646055540681171,"duration":2.117,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"fe538bb175d133dc","transaction_id":"6082af4d9c770efc","parent_id":"6082af4d9c770efc","trace_id":"46843c8798926899b0ebb14b45433637","subtype":"postgresql","action":"query","timestamp":1646055540686226,"duration":4.889,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"6082af4d9c770efc","trace_id":"46843c8798926899b0ebb14b45433637","duration":27.401,"timestamp":1646055540673018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:39:00 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"12ce79d4080d6362","transaction_id":"b20f4726d37f823d","parent_id":"b20f4726d37f823d","trace_id":"54530b7cabc42ec169d673c704230f95","subtype":"postgresql","action":"query","timestamp":1646055541228846,"duration":5.461,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"b20f4726d37f823d","trace_id":"54530b7cabc42ec169d673c704230f95","duration":36.843,"timestamp":1646055541204091,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5","full":"http://opbeans-node:3000/api/products/5"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"250","etag":"W/\"fa-O2pSp/nl49sefAwhjFNnvOX493Y\"","date":"Mon, 28 Feb 2022 13:39:01 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ac7199290d85f57c","transaction_id":"867c4e53b6bb8dcc","parent_id":"867c4e53b6bb8dcc","trace_id":"11b15fa8fb743d94fb835a75c3e0f865","subtype":"postgresql","action":"query","timestamp":1646055542183574,"duration":10.377,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"04f75c34b39e0bdb","transaction_id":"867c4e53b6bb8dcc","parent_id":"867c4e53b6bb8dcc","trace_id":"11b15fa8fb743d94fb835a75c3e0f865","subtype":"postgresql","action":"query","timestamp":1646055542203968,"duration":14.624,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"9f8cc0e06a0e1c7c","transaction_id":"867c4e53b6bb8dcc","parent_id":"867c4e53b6bb8dcc","trace_id":"11b15fa8fb743d94fb835a75c3e0f865","subtype":"postgresql","action":"query","timestamp":1646055542215818,"duration":11.613,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"6ebcc0e49a322558","transaction_id":"867c4e53b6bb8dcc","parent_id":"867c4e53b6bb8dcc","trace_id":"11b15fa8fb743d94fb835a75c3e0f865","subtype":"postgresql","action":"query","timestamp":1646055542208691,"duration":28.391,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"867c4e53b6bb8dcc","trace_id":"11b15fa8fb743d94fb835a75c3e0f865","duration":77.772,"timestamp":1646055542178021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:39:02 GMT","connection":"close"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"aae194318de0a5be","transaction_id":"867c4e53b6bb8dcc","parent_id":"867c4e53b6bb8dcc","trace_id":"11b15fa8fb743d94fb835a75c3e0f865","subtype":"postgresql","action":"query","timestamp":1646055542230971,"duration":12.481,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"5eae7db74b987aab","transaction_id":"867c4e53b6bb8dcc","parent_id":"867c4e53b6bb8dcc","trace_id":"11b15fa8fb743d94fb835a75c3e0f865","subtype":"postgresql","action":"query","timestamp":1646055542233099,"duration":12.678,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"35ff76d53b23b50c","transaction_id":"867c4e53b6bb8dcc","parent_id":"867c4e53b6bb8dcc","trace_id":"11b15fa8fb743d94fb835a75c3e0f865","subtype":"postgresql","action":"query","timestamp":1646055542234763,"duration":12.945,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-error","type":"request","result":"HTTP 5xx","id":"e2bd49f16f205cec","trace_id":"1367c3093b72caaf6cb65599fd682e70","duration":69.436,"timestamp":1646055542684031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-error","full":"http://opbeans-node:3000/log-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:39:02 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /is-it-coffee-time","type":"request","result":"HTTP 5xx","id":"517be5a19c3e65a2","trace_id":"89d0e5238ff7648e0e1cadf9c54697e1","duration":20.55,"timestamp":1646055543185055,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/is-it-coffee-time","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/is-it-coffee-time","full":"http://opbeans-node:3000/is-it-coffee-time"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-security-policy":"default-src 'none'","x-content-type-options":"nosniff","content-type":"text/html; charset=utf-8","content-length":"148","date":"Mon, 28 Feb 2022 13:39:03 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"f6c30aedd935c573","trace_id":"0083cc60728c0c5c9e6d536c71154f82","parent_id":"3f184ab40eb2302c","duration":27.951,"timestamp":1646055544435024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-0083cc60728c0c5c9e6d536c71154f82-3f184ab40eb2302c-01","elastic-apm-traceparent":"00-0083cc60728c0c5c9e6d536c71154f82-3f184ab40eb2302c-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:04 GMT","content-length":"110","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"13435c15de499b5e","transaction_id":"f6c30aedd935c573","parent_id":"f6c30aedd935c573","trace_id":"0083cc60728c0c5c9e6d536c71154f82","subtype":"http","action":"GET","timestamp":1646055544441214,"duration":16.459,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"05e9be837e1b4c51","trace_id":"1f3c0dae814ec3ab0050132715702c08","duration":8378.25,"timestamp":1646055536206131,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2/customers","full":"http://opbeans-node:3000/api/products/2/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:04 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"203686","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"b819bcf9f50d111a","transaction_id":"05e9be837e1b4c51","parent_id":"05e9be837e1b4c51","trace_id":"1f3c0dae814ec3ab0050132715702c08","subtype":"http","action":"GET","timestamp":1646055536225469,"duration":8353.399,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/2/customers"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"78b6a5d9cf68cc73","trace_id":"009fa2397850ca241562ef1691b18439","duration":6953.252,"timestamp":1646055537700041,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/461","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/461","full":"http://opbeans-node:3000/api/orders/461"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:04 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"339efd8b2deb2dc7","transaction_id":"78b6a5d9cf68cc73","parent_id":"78b6a5d9cf68cc73","trace_id":"009fa2397850ca241562ef1691b18439","subtype":"http","action":"GET","timestamp":1646055537713772,"duration":6924.31,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/orders/461"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"e9242d8609324cb1","trace_id":"9425175a7471875e1d9d41492cff1692","duration":3022.29,"timestamp":1646055541688025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/69","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/69","full":"http://opbeans-node:3000/api/orders/69"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:04 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"312","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"353b5630098fa59e","transaction_id":"e9242d8609324cb1","parent_id":"e9242d8609324cb1","trace_id":"9425175a7471875e1d9d41492cff1692","subtype":"http","action":"GET","timestamp":1646055541695025,"duration":2999.293,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/orders/69"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"dfee2e0bf1da118d","trace_id":"f4d0628df359cc52ea3ca87f2aa16438","parent_id":"85f6bf8322231648","duration":572.421,"timestamp":1646055544192027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/5/customers","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"host":"opbeans-go:3000","elastic-apm-traceparent":"00-f4d0628df359cc52ea3ca87f2aa16438-85f6bf8322231648-01","traceparent":"00-f4d0628df359cc52ea3ca87f2aa16438-85f6bf8322231648-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.10","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"a645f8df-5df0-4572-a0cd-06a60199f52e","x-runtime":"0.051778","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:04 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"ccbac6df73ae41c6","transaction_id":"dfee2e0bf1da118d","parent_id":"dfee2e0bf1da118d","trace_id":"f4d0628df359cc52ea3ca87f2aa16438","subtype":"http","action":"GET","timestamp":1646055544196763,"duration":561.072,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/5/customers"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"626e35d572384993","trace_id":"f3ff78c40ba4b826d64a764be0c1158d","duration":1205.385,"timestamp":1646055543693054,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:04 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"203686","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"0f81794dda73fafa","trace_id":"f4d0628df359cc52ea3ca87f2aa16438","duration":743.988,"timestamp":1646055544180035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5/customers","full":"http://opbeans-node:3000/api/products/5/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","cache-control":"max-age=0, private, must-revalidate","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:04 GMT","etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","referrer-policy":"strict-origin-when-cross-origin","x-content-type-options":"nosniff","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-request-id":"a645f8df-5df0-4572-a0cd-06a60199f52e","x-runtime":"0.051778","x-xss-protection":"1; mode=block","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"e00e8e16b659094d","transaction_id":"626e35d572384993","parent_id":"626e35d572384993","trace_id":"f3ff78c40ba4b826d64a764be0c1158d","subtype":"http","action":"GET","timestamp":1646055543704180,"duration":1145.476,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"158dc97a7583a9f6","transaction_id":"0f81794dda73fafa","parent_id":"0f81794dda73fafa","trace_id":"f4d0628df359cc52ea3ca87f2aa16438","subtype":"http","action":"GET","timestamp":1646055544183902,"duration":731.62,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/5/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"dc08530df1c50ff6","trace_id":"1a86c3632420e69917d05e919e9f9f61","parent_id":"25e1b944ef75e85a","duration":41.711,"timestamp":1646055544957016,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4","full":"http://opbeans-node:3000/api/products/4"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-1a86c3632420e69917d05e919e9f9f61-25e1b944ef75e85a-01","elastic-apm-traceparent":"00-1a86c3632420e69917d05e919e9f9f61-25e1b944ef75e85a-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"243","etag":"W/\"f3-6sVO4eOixKeSqLsiOclAUoIfJnQ\"","date":"Mon, 28 Feb 2022 13:39:04 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"e4dac0045c3b6633","transaction_id":"dc08530df1c50ff6","parent_id":"dc08530df1c50ff6","trace_id":"1a86c3632420e69917d05e919e9f9f61","subtype":"postgresql","action":"query","timestamp":1646055544968268,"duration":21.119,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"620aaf64d5d826d2","trace_id":"1a86c3632420e69917d05e919e9f9f61","parent_id":"4857089c5c5a0ad3","duration":1267.127,"timestamp":1646055543756027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4","full":"http://opbeans-node:3000/api/products/4"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-1a86c3632420e69917d05e919e9f9f61-4857089c5c5a0ad3-01","elastic-apm-traceparent":"00-1a86c3632420e69917d05e919e9f9f61-4857089c5c5a0ad3-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:05 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-error","type":"request","result":"HTTP 5xx","id":"5920bb952ea4bab2","trace_id":"9080983ee74a2a472a892aa4774dc7e3","duration":107.804,"timestamp":1646055544929016,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-error","full":"http://opbeans-node:3000/log-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:39:05 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"8dd283d653e49c03","transaction_id":"620aaf64d5d826d2","parent_id":"620aaf64d5d826d2","trace_id":"1a86c3632420e69917d05e919e9f9f61","subtype":"http","action":"GET","timestamp":1646055543777598,"duration":1240.588,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/4"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"fc794dbae1fc468b","trace_id":"da988ecb255c904c8fda58a8341d61d2","parent_id":"68eb0f7b1a40fa39","duration":76.152,"timestamp":1646055545084020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-da988ecb255c904c8fda58a8341d61d2-68eb0f7b1a40fa39-01","elastic-apm-traceparent":"00-da988ecb255c904c8fda58a8341d61d2-68eb0f7b1a40fa39-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"32a6f2ac22b5ec871f35104a05ba3759\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"75c2b59c-b3ec-4b9c-803e-f7a39333b49e","x-runtime":"0.012552","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:05 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"4b6fe35117b6d6e4","transaction_id":"fc794dbae1fc468b","parent_id":"fc794dbae1fc468b","trace_id":"da988ecb255c904c8fda58a8341d61d2","subtype":"http","action":"GET","timestamp":1646055545088004,"duration":67.836,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"f94ff7d73ff09cc3","trace_id":"b865b657feab44b5b9d3b6ef04da35a5","parent_id":"3d4aa9bb0b9abe9a","duration":214.2,"timestamp":1646055544971018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/8661","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/8661","full":"http://opbeans-node:3000/api/customers/8661"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-b865b657feab44b5b9d3b6ef04da35a5-3d4aa9bb0b9abe9a-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-b865b657feab44b5b9d3b6ef04da35a5-3d4aa9bb0b9abe9a-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:05 GMT","connection":"close","content-type":"text/html; charset=UTF-8","x-frame-options":"DENY","content-length":"1722","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"fba5f1e1be3af62d","transaction_id":"f94ff7d73ff09cc3","parent_id":"f94ff7d73ff09cc3","trace_id":"b865b657feab44b5b9d3b6ef04da35a5","subtype":"http","action":"GET","timestamp":1646055544981892,"duration":194.61,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-python:3000/api/customers/8661"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"9426bff5f678a1b3","transaction_id":"9ba8dfa70dc537f4","parent_id":"9ba8dfa70dc537f4","trace_id":"8a51cceb41f0c30bc002faebffca174c","subtype":"postgresql","action":"query","timestamp":1646055545225148,"duration":32.245,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"36e49f3f675354c8","transaction_id":"9ba8dfa70dc537f4","parent_id":"9ba8dfa70dc537f4","trace_id":"8a51cceb41f0c30bc002faebffca174c","subtype":"postgresql","action":"query","timestamp":1646055545263070,"duration":7.925,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"9ba8dfa70dc537f4","trace_id":"8a51cceb41f0c30bc002faebffca174c","parent_id":"17aed628f88f941c","duration":69.112,"timestamp":1646055545215022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/3","full":"http://opbeans-go:3000/api/types/3"},"headers":{"host":"opbeans-go:3000","elastic-apm-traceparent":"00-8a51cceb41f0c30bc002faebffca174c-17aed628f88f941c-01","traceparent":"00-8a51cceb41f0c30bc002faebffca174c-17aed628f88f941c-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.10","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"189","etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","date":"Mon, 28 Feb 2022 13:39:05 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"022a4c2f13df9d9c","trace_id":"8a51cceb41f0c30bc002faebffca174c","duration":101.856,"timestamp":1646055545202019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/3","full":"http://opbeans-node:3000/api/types/3"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"189","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:05 GMT","etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"cd9fcce9c0aaf162","transaction_id":"022a4c2f13df9d9c","parent_id":"022a4c2f13df9d9c","trace_id":"8a51cceb41f0c30bc002faebffca174c","subtype":"http","action":"GET","timestamp":1646055545206667,"duration":92.793,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types/3"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"f1be0fb8874a2ba2","transaction_id":"6bbbb059cfeba796","parent_id":"6bbbb059cfeba796","trace_id":"9f3061c3965960cde64bc45fecd80c67","subtype":"postgresql","action":"query","timestamp":1646055545385591,"duration":6.383,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"6bbbb059cfeba796","trace_id":"9f3061c3965960cde64bc45fecd80c67","parent_id":"966a52d243c20a3a","duration":25.627,"timestamp":1646055545372020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2/customers?limit=60","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2/customers","search":"?limit=60","full":"http://opbeans-node:3000/api/products/2/customers?limit=60"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-9f3061c3965960cde64bc45fecd80c67-966a52d243c20a3a-01","elastic-apm-traceparent":"00-9f3061c3965960cde64bc45fecd80c67-966a52d243c20a3a-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"4827","etag":"W/\"12db-CVjfNlJXPDdUOB1pLPihBDfjg34\"","date":"Mon, 28 Feb 2022 13:39:05 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"1ffca9e7415b1b5b","transaction_id":"ca5ff4b60372aae5","parent_id":"ca5ff4b60372aae5","trace_id":"daad4b2edd03c9ce1416d03ab552020e","subtype":"postgresql","action":"query","timestamp":1646055545627112,"duration":5.414,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"ca5ff4b60372aae5","trace_id":"daad4b2edd03c9ce1416d03ab552020e","parent_id":"bf00fced4801c42b","duration":30.63,"timestamp":1646055545614019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3/customers?limit=100","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3/customers","search":"?limit=100","full":"http://opbeans-node:3000/api/products/3/customers?limit=100"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-daad4b2edd03c9ce1416d03ab552020e-bf00fced4801c42b-01","elastic-apm-traceparent":"00-daad4b2edd03c9ce1416d03ab552020e-bf00fced4801c42b-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2247","etag":"W/\"8c7-DzU3uvPT9Eu5vDsXxF0AVpUtaII\"","date":"Mon, 28 Feb 2022 13:39:05 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"c454488fdf7bd482","trace_id":"6f6ed43f38a88414b0cfdc86ed27499d","duration":9.687,"timestamp":1646055545683017,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:39:05 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"2645672af54c9b5b","trace_id":"9c5ed1e66f865adc42c6380dca95b818","parent_id":"a6641c3f5fa56bac","duration":8.389,"timestamp":1646055545763019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:05 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"ef97dbdd6534263f","transaction_id":"040105df0dc8ebc7","parent_id":"040105df0dc8ebc7","trace_id":"beb6a2b2770671b93dee984ddfcd89e2","subtype":"redis","action":null,"timestamp":1646055545795024,"duration":3.076,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"4cee64d458db53ed","transaction_id":"040105df0dc8ebc7","parent_id":"040105df0dc8ebc7","trace_id":"beb6a2b2770671b93dee984ddfcd89e2","subtype":"postgresql","action":"query","timestamp":1646055545800341,"duration":2.145,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"040105df0dc8ebc7","trace_id":"beb6a2b2770671b93dee984ddfcd89e2","parent_id":"acd5a65ce7d1e5a1","duration":16.163,"timestamp":1646055545790017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-beb6a2b2770671b93dee984ddfcd89e2-acd5a65ce7d1e5a1-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-beb6a2b2770671b93dee984ddfcd89e2-acd5a65ce7d1e5a1-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:39:05 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"c9e20879bb8a950a","trace_id":"bc333b839b350cee5768a041822d7785","parent_id":"3cc7a5cdbb3f260d","duration":84.32,"timestamp":1646055545969078,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/1","full":"http://opbeans-node:3000/api/types/1"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-bc333b839b350cee5768a041822d7785-3cc7a5cdbb3f260d-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-bc333b839b350cee5768a041822d7785-3cc7a5cdbb3f260d-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:06 GMT","content-length":"36","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"7044d044e63326b6","transaction_id":"c9e20879bb8a950a","parent_id":"c9e20879bb8a950a","trace_id":"bc333b839b350cee5768a041822d7785","subtype":"http","action":"GET","timestamp":1646055545991793,"duration":37.728,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types/1"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"9cb0eb85c7944d1b","trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","parent_id":"58cce669f7a3e33a","duration":75.178,"timestamp":1646055546113034,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/516","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/516","full":"http://opbeans-go:3000/api/customers/516"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-7b85dcedfb5ce7d2687f85879c4ad31e-58cce669f7a3e33a-01","traceparent":"00-7b85dcedfb5ce7d2687f85879c4ad31e-58cce669f7a3e33a-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"213","content-type":"application/json","date":"Mon, 28 Feb 2022 13:39:06 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"0b5ff6364d59938a","transaction_id":"9cb0eb85c7944d1b","parent_id":"9cb0eb85c7944d1b","trace_id":"7b85dcedfb5ce7d2687f85879c4ad31e","subtype":"http","action":"GET","timestamp":1646055546120193,"duration":62.698,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers/516"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"9401bfd955fb2818","trace_id":"d97acc6822e9fdb068b36ea1b2c97b1a","duration":10.546,"timestamp":1646055546200017,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:39:06 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"487531031ce22b8a","transaction_id":"36852056e25f0362","parent_id":"36852056e25f0362","trace_id":"2a23406843d9d28692d30d56b6cb0895","subtype":"postgresql","action":"query","timestamp":1646055546262870,"duration":3.762,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"36852056e25f0362","trace_id":"2a23406843d9d28692d30d56b6cb0895","parent_id":"a008eac14c170231","duration":14.193,"timestamp":1646055546257020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5","full":"http://opbeans-node:3000/api/products/5"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-2a23406843d9d28692d30d56b6cb0895-a008eac14c170231-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-2a23406843d9d28692d30d56b6cb0895-a008eac14c170231-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"250","etag":"W/\"fa-O2pSp/nl49sefAwhjFNnvOX493Y\"","date":"Mon, 28 Feb 2022 13:39:06 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"8c043129380851aa","trace_id":"58cd944e2afb51da5881c4fa12d13383","parent_id":"cd1a5b0a47f5f2ed","duration":39.576,"timestamp":1646055546388019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/2","full":"http://opbeans-go:3000/api/products/2"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-58cd944e2afb51da5881c4fa12d13383-cd1a5b0a47f5f2ed-01","traceparent":"00-58cd944e2afb51da5881c4fa12d13383-cd1a5b0a47f5f2ed-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14, 172.23.0.9, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:06 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"259","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"eed839b5b0063f90","transaction_id":"8c043129380851aa","parent_id":"8c043129380851aa","trace_id":"58cd944e2afb51da5881c4fa12d13383","subtype":"http","action":"GET","timestamp":1646055546391855,"duration":29.22,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/2"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"15a312b4a458cbec","trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","parent_id":"d3c91705d5db53d9","duration":108.881,"timestamp":1646055546377030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5/customers","full":"http://opbeans-node:3000/api/products/5/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-abb5ccb9ce85a9ef02ec144f348c4876-d3c91705d5db53d9-01","elastic-apm-traceparent":"00-abb5ccb9ce85a9ef02ec144f348c4876-d3c91705d5db53d9-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"113114","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:06 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"e2ddf3b4b5191724","transaction_id":"15a312b4a458cbec","parent_id":"15a312b4a458cbec","trace_id":"abb5ccb9ce85a9ef02ec144f348c4876","subtype":"http","action":"GET","timestamp":1646055546381629,"duration":93.819,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/5/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"d333833a1f69b5f0","transaction_id":"3a77343e32b1e198","parent_id":"3a77343e32b1e198","trace_id":"07185d0e1a1f924ab916f55a7a975ea9","subtype":"postgresql","action":"query","timestamp":1646055546763597,"duration":10.734,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"3a77343e32b1e198","trace_id":"07185d0e1a1f924ab916f55a7a975ea9","parent_id":"673232bfc2e67f4a","duration":99.57,"timestamp":1646055546745042,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/top","full":"http://opbeans-go:3000/api/products/top"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-07185d0e1a1f924ab916f55a7a975ea9-673232bfc2e67f4a-01","traceparent":"00-07185d0e1a1f924ab916f55a7a975ea9-673232bfc2e67f4a-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:39:06 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f464a86026680717","transaction_id":"3a77343e32b1e198","parent_id":"3a77343e32b1e198","trace_id":"07185d0e1a1f924ab916f55a7a975ea9","subtype":"postgresql","action":"query","timestamp":1646055546782591,"duration":37.718,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ff23800168db498b","transaction_id":"3a77343e32b1e198","parent_id":"3a77343e32b1e198","trace_id":"07185d0e1a1f924ab916f55a7a975ea9","subtype":"postgresql","action":"query","timestamp":1646055546786440,"duration":39.12,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"0712b03322b85f3f","transaction_id":"3a77343e32b1e198","parent_id":"3a77343e32b1e198","trace_id":"07185d0e1a1f924ab916f55a7a975ea9","subtype":"postgresql","action":"query","timestamp":1646055546791941,"duration":42.159,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"a5c663fa0f3fa077","trace_id":"9d8d53cc87bc9640ab7cf310646fb864","parent_id":"9bc00dfc19d08a4b","duration":253.604,"timestamp":1646055546990029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-9d8d53cc87bc9640ab7cf310646fb864-9bc00dfc19d08a4b-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-9d8d53cc87bc9640ab7cf310646fb864-9bc00dfc19d08a4b-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","date":"Mon, 28 Feb 2022 13:39:07 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"45dbce7c25ebfb3d","transaction_id":"a5c663fa0f3fa077","parent_id":"a5c663fa0f3fa077","trace_id":"9d8d53cc87bc9640ab7cf310646fb864","subtype":"http","action":"GET","timestamp":1646055547004041,"duration":225.22,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b950291bc3ca27ad","trace_id":"9d8d53cc87bc9640ab7cf310646fb864","parent_id":"20eed3396addcc80","duration":415.11,"timestamp":1646055546897035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/stats","full":"http://opbeans-go:3000/api/stats"},"headers":{"host":"opbeans-go:3000","elastic-apm-traceparent":"00-9d8d53cc87bc9640ab7cf310646fb864-20eed3396addcc80-01","traceparent":"00-9d8d53cc87bc9640ab7cf310646fb864-20eed3396addcc80-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.10","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:07 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"128","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"2d90ff1f6f481fe2","transaction_id":"b950291bc3ca27ad","parent_id":"b950291bc3ca27ad","trace_id":"9d8d53cc87bc9640ab7cf310646fb864","subtype":"http","action":"GET","timestamp":1646055546907220,"duration":399.245,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"f03ada2fd3af749a","trace_id":"9d8d53cc87bc9640ab7cf310646fb864","parent_id":"d66e8747ec5575c1","duration":540.555,"timestamp":1646055546797022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/stats","full":"http://opbeans-go:3000/api/stats"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-9d8d53cc87bc9640ab7cf310646fb864-d66e8747ec5575c1-01","traceparent":"00-9d8d53cc87bc9640ab7cf310646fb864-d66e8747ec5575c1-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"128","content-type":"application/json","date":"Mon, 28 Feb 2022 13:39:07 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"77767ea374b0a350","transaction_id":"f03ada2fd3af749a","parent_id":"f03ada2fd3af749a","trace_id":"9d8d53cc87bc9640ab7cf310646fb864","subtype":"http","action":"GET","timestamp":1646055546809569,"duration":517.359,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"40e0350d73c14cb3","trace_id":"9d8d53cc87bc9640ab7cf310646fb864","duration":676.022,"timestamp":1646055546694032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:07 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"ebc4c666618583e7","transaction_id":"40e0350d73c14cb3","parent_id":"40e0350d73c14cb3","trace_id":"9d8d53cc87bc9640ab7cf310646fb864","subtype":"http","action":"GET","timestamp":1646055546705823,"duration":659.072,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"a7ee7eca49284250","trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","parent_id":"1d6d8c7051f1dd8a","duration":150.653,"timestamp":1646055547259030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products","full":"http://opbeans-go:3000/api/products"},"headers":{"host":"opbeans-go:3000","elastic-apm-traceparent":"00-8eaeaa945ee6fcdcfd82fe4deb7750c8-1d6d8c7051f1dd8a-01","traceparent":"00-8eaeaa945ee6fcdcfd82fe4deb7750c8-1d6d8c7051f1dd8a-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.10","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"2134","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:07 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"d5b5284050e9d458","transaction_id":"a7ee7eca49284250","parent_id":"a7ee7eca49284250","trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","subtype":"http","action":"GET","timestamp":1646055547294987,"duration":110.412,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"e7fe763fded179be","trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","duration":239.387,"timestamp":1646055547194063,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"2134","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:07 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"64ae5a7a58a9b897","transaction_id":"e7fe763fded179be","parent_id":"e7fe763fded179be","trace_id":"8eaeaa945ee6fcdcfd82fe4deb7750c8","subtype":"http","action":"GET","timestamp":1646055547207709,"duration":211.12,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"07d6f6a2cc2255e2","transaction_id":"761ad69c8cb256f6","parent_id":"761ad69c8cb256f6","trace_id":"846e96de8b329106e3c5424eb40e39fb","subtype":"postgresql","action":"query","timestamp":1646055547550494,"duration":7.403,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"761ad69c8cb256f6","trace_id":"846e96de8b329106e3c5424eb40e39fb","parent_id":"43d2926a43b6185f","duration":36.446,"timestamp":1646055547534031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/1","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/1","full":"http://opbeans-go:3000/api/products/1"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-846e96de8b329106e3c5424eb40e39fb-43d2926a43b6185f-01","traceparent":"00-846e96de8b329106e3c5424eb40e39fb-43d2926a43b6185f-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"231","etag":"W/\"e7-6JlJegaJ+ir0C8I8EmmOjms1dnc\"","date":"Mon, 28 Feb 2022 13:39:07 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"cf84d5be0d159bf6","transaction_id":"4838104f5031529a","parent_id":"4838104f5031529a","trace_id":"77e6dfc35dad79f0f98dc80e4a412566","subtype":"redis","action":null,"timestamp":1646055547602622,"duration":2.197,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"46bfd0b2ce9f937a","transaction_id":"4838104f5031529a","parent_id":"4838104f5031529a","trace_id":"77e6dfc35dad79f0f98dc80e4a412566","subtype":"postgresql","action":"query","timestamp":1646055547606534,"duration":3.363,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"4838104f5031529a","trace_id":"77e6dfc35dad79f0f98dc80e4a412566","parent_id":"6b4ce13628b1b498","duration":20.979,"timestamp":1646055547593036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products","full":"http://opbeans-go:3000/api/products"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-77e6dfc35dad79f0f98dc80e4a412566-6b4ce13628b1b498-01","traceparent":"00-77e6dfc35dad79f0f98dc80e4a412566-6b4ce13628b1b498-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:39:07 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"595beee38ceb641f","trace_id":"cdaf59b58f53b66074c12b2cc467064a","parent_id":"c097d71d55ba1484","duration":31.755,"timestamp":1646055547699031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:07 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"af2e5c97067f866d","transaction_id":"ebca882ffe846c6a","parent_id":"ebca882ffe846c6a","trace_id":"aa479ee11bc78d2ffdf866d0596bd937","subtype":"redis","action":null,"timestamp":1646055548019724,"duration":3.62,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"e0de2cd0a156b32e","transaction_id":"ebca882ffe846c6a","parent_id":"ebca882ffe846c6a","trace_id":"aa479ee11bc78d2ffdf866d0596bd937","subtype":"postgresql","action":"query","timestamp":1646055548025443,"duration":5.005,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"ebca882ffe846c6a","trace_id":"aa479ee11bc78d2ffdf866d0596bd937","parent_id":"4d7535f83c189877","duration":25.665,"timestamp":1646055548010027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders","full":"http://opbeans-go:3000/api/orders"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-aa479ee11bc78d2ffdf866d0596bd937-4d7535f83c189877-01","traceparent":"00-aa479ee11bc78d2ffdf866d0596bd937-4d7535f83c189877-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:39:08 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"44d1ca7ab8ff6d06","trace_id":"f5d392c23d6166826c7ad53997507b52","duration":44.527,"timestamp":1646055548186019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/1","full":"http://opbeans-node:3000/api/products/1"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:08 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"248","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"0b0854377f8acc7f","transaction_id":"44d1ca7ab8ff6d06","parent_id":"44d1ca7ab8ff6d06","trace_id":"f5d392c23d6166826c7ad53997507b52","subtype":"http","action":"GET","timestamp":1646055548190775,"duration":34.944,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/1"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"c38987fed3bf9344","transaction_id":"e91c9bace7357a09","parent_id":"e91c9bace7357a09","trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","subtype":"postgresql","action":"query","timestamp":1646055548366679,"duration":8.007,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"9d72ccfe34b16a86","transaction_id":"e91c9bace7357a09","parent_id":"e91c9bace7357a09","trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","subtype":"postgresql","action":"query","timestamp":1646055548368468,"duration":8.104,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"dd7c10e1bce31ec9","transaction_id":"e91c9bace7357a09","parent_id":"e91c9bace7357a09","trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","subtype":"postgresql","action":"query","timestamp":1646055548370066,"duration":8.623,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"11d64510fc56b129","transaction_id":"e91c9bace7357a09","parent_id":"e91c9bace7357a09","trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","subtype":"postgresql","action":"query","timestamp":1646055548371606,"duration":9.128,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"113163a1c54ebf74","transaction_id":"e91c9bace7357a09","parent_id":"e91c9bace7357a09","trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","subtype":"postgresql","action":"query","timestamp":1646055548382480,"duration":6.661,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"57ead7f390819157","transaction_id":"e91c9bace7357a09","parent_id":"e91c9bace7357a09","trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","subtype":"postgresql","action":"query","timestamp":1646055548384726,"duration":6.99,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"54da41a6389afc4d","transaction_id":"e91c9bace7357a09","parent_id":"e91c9bace7357a09","trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","subtype":"postgresql","action":"query","timestamp":1646055548386497,"duration":6.985,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"e91c9bace7357a09","trace_id":"b1ae0ddb2c1463fb11a03248bb60fceb","parent_id":"464af58f9404641a","duration":37.985,"timestamp":1646055548361018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-b1ae0ddb2c1463fb11a03248bb60fceb-464af58f9404641a-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-b1ae0ddb2c1463fb11a03248bb60fceb-464af58f9404641a-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:39:08 GMT","connection":"close"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"b6670126194376a0","transaction_id":"cf52ea734a9cd592","parent_id":"cf52ea734a9cd592","trace_id":"f2e8c91733f1d3480de2cef0a62ff338","subtype":"redis","action":null,"timestamp":1646055548519805,"duration":3.206,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"b7758c8f7898e3c5","transaction_id":"cf52ea734a9cd592","parent_id":"cf52ea734a9cd592","trace_id":"f2e8c91733f1d3480de2cef0a62ff338","subtype":"postgresql","action":"query","timestamp":1646055548525929,"duration":131.733,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"cf52ea734a9cd592","trace_id":"f2e8c91733f1d3480de2cef0a62ff338","parent_id":"05f5bbd53d953d39","duration":216.993,"timestamp":1646055548513028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers","full":"http://opbeans-go:3000/api/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-f2e8c91733f1d3480de2cef0a62ff338-05f5bbd53d953d39-01","traceparent":"00-f2e8c91733f1d3480de2cef0a62ff338-05f5bbd53d953d39-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:39:08 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"5ae26d0827dd419c","transaction_id":"09d6cc8285c75a7a","parent_id":"09d6cc8285c75a7a","trace_id":"0e90e93fbfccd82afe2fe23e91f6e1aa","subtype":"redis","action":null,"timestamp":1646055548777221,"duration":4.523,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"14c573653723be4a","transaction_id":"09d6cc8285c75a7a","parent_id":"09d6cc8285c75a7a","trace_id":"0e90e93fbfccd82afe2fe23e91f6e1aa","subtype":"postgresql","action":"query","timestamp":1646055548788962,"duration":5.755,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"09d6cc8285c75a7a","trace_id":"0e90e93fbfccd82afe2fe23e91f6e1aa","duration":49.468,"timestamp":1646055548757028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:39:08 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"ab4d373296c7ae6e","trace_id":"f0e9015be244fd91de4be6be0a7a40b5","parent_id":"34b7641ef51dfc10","duration":68.079,"timestamp":1646055549097020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/top","full":"http://opbeans-go:3000/api/products/top"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-f0e9015be244fd91de4be6be0a7a40b5-34b7641ef51dfc10-01","traceparent":"00-f0e9015be244fd91de4be6be0a7a40b5-34b7641ef51dfc10-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:09 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"309","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"54234c26d335c6a9","transaction_id":"ab4d373296c7ae6e","parent_id":"ab4d373296c7ae6e","trace_id":"f0e9015be244fd91de4be6be0a7a40b5","subtype":"http","action":"GET","timestamp":1646055549106981,"duration":53.588,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"20e043bd32897ea2","transaction_id":"c169dc4d3c9d0b13","parent_id":"c169dc4d3c9d0b13","trace_id":"33d0b7a5b1a20a6c53b2a0dd1c8fbaf5","subtype":"redis","action":null,"timestamp":1646055549209908,"duration":3.601,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"300a5b6bf779db67","transaction_id":"c169dc4d3c9d0b13","parent_id":"c169dc4d3c9d0b13","trace_id":"33d0b7a5b1a20a6c53b2a0dd1c8fbaf5","subtype":"postgresql","action":"query","timestamp":1646055549215480,"duration":2.944,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"c169dc4d3c9d0b13","trace_id":"33d0b7a5b1a20a6c53b2a0dd1c8fbaf5","parent_id":"4e71e33ed31d2922","duration":21.481,"timestamp":1646055549203019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-33d0b7a5b1a20a6c53b2a0dd1c8fbaf5-4e71e33ed31d2922-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-33d0b7a5b1a20a6c53b2a0dd1c8fbaf5-4e71e33ed31d2922-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:39:09 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"ecdd82e6c9013bf6","trace_id":"68f3c15f007725284dac2a4198e46cdd","duration":66.9,"timestamp":1646055549233026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/534","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/534","full":"http://opbeans-node:3000/api/customers/534"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:09 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"273b820704882999","transaction_id":"ecdd82e6c9013bf6","parent_id":"ecdd82e6c9013bf6","trace_id":"68f3c15f007725284dac2a4198e46cdd","subtype":"http","action":"GET","timestamp":1646055549242172,"duration":44.411,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers/534"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"76d6e16a354a3e1c","trace_id":"bbba82629d0d163b691d67622211d559","parent_id":"70ff132755cf24b5","duration":25.128,"timestamp":1646055549704051,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:09 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b9051aa4fe33272c","trace_id":"773c4046c1bbeb1cc20f24f190844fba","duration":150.657,"timestamp":1646055550696028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:10 GMT","content-length":"110","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"1ff3188e2e4e14ae","transaction_id":"b9051aa4fe33272c","parent_id":"b9051aa4fe33272c","trace_id":"773c4046c1bbeb1cc20f24f190844fba","subtype":"http","action":"GET","timestamp":1646055550725936,"duration":60.062,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"487ef385b45b16b9","transaction_id":"26685f6a733b3598","parent_id":"26685f6a733b3598","trace_id":"e03480614a94c219d1eee047c80c4e1e","subtype":"postgresql","action":"query","timestamp":1646055551347750,"duration":48.608,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"9ff68bd99483b95d","transaction_id":"26685f6a733b3598","parent_id":"26685f6a733b3598","trace_id":"e03480614a94c219d1eee047c80c4e1e","subtype":"postgresql","action":"query","timestamp":1646055551433141,"duration":32.168,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"6d8e2e65f84d6d6f","transaction_id":"26685f6a733b3598","parent_id":"26685f6a733b3598","trace_id":"e03480614a94c219d1eee047c80c4e1e","subtype":"postgresql","action":"query","timestamp":1646055551452424,"duration":25.229,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"26685f6a733b3598","trace_id":"e03480614a94c219d1eee047c80c4e1e","duration":302.998,"timestamp":1646055551322036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:39:11 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"c2a7798d1ae334d4","transaction_id":"26685f6a733b3598","parent_id":"26685f6a733b3598","trace_id":"e03480614a94c219d1eee047c80c4e1e","subtype":"postgresql","action":"query","timestamp":1646055551450289,"duration":84.347,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"f9e39c1d7443b31c","trace_id":"f5b742bc37ca5a6d58fe7855a564899c","duration":63.266,"timestamp":1646055551732034,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:39:11 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"984abdc5d97af284","transaction_id":"219f7fb84acdf9b3","parent_id":"219f7fb84acdf9b3","trace_id":"954e841b461ce3afea5b7fe5046b2322","subtype":"redis","action":null,"timestamp":1646055552717941,"duration":2.794,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"219f7fb84acdf9b3","trace_id":"954e841b461ce3afea5b7fe5046b2322","duration":174.179,"timestamp":1646055552709022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:39:12 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"88aa3480f70790a1","transaction_id":"219f7fb84acdf9b3","parent_id":"219f7fb84acdf9b3","trace_id":"954e841b461ce3afea5b7fe5046b2322","subtype":"postgresql","action":"query","timestamp":1646055552724698,"duration":122.438,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"Validate CC","type":"custom","id":"f38592280cf3fafc","transaction_id":"65c1dc5e9e48f7d2","parent_id":"65c1dc5e9e48f7d2","trace_id":"4d64e896d66883f8c9efc0d382c27d3f","subtype":null,"action":null,"timestamp":1646055553256027,"duration":413.478,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":23,"function":"processPayment","library_frame":false,"abs_path":"/app/worker.js","pre_context":[""," apm.startTransaction('Process payment', 'Worker')"],"context_line":" performSubTasks(['Validate CC', 'Reserve funds'], function () {","post_context":[" apm.endTransaction()"," queue(processPayment)"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"a342651fcf818927","trace_id":"8bf382a4371930ede22faa69a79dc950","parent_id":"d418f85725e341a8","duration":24.697,"timestamp":1646055553720089,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:13 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"Process payment","type":"Worker","result":"success","id":"65c1dc5e9e48f7d2","trace_id":"4d64e896d66883f8c9efc0d382c27d3f","duration":633.091,"timestamp":1646055553247054,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{}},"span_count":{"started":2},"outcome":"unknown","sample_rate":1}} +{"span":{"name":"Reserve funds","type":"custom","id":"8292bba551bc37a4","transaction_id":"65c1dc5e9e48f7d2","parent_id":"65c1dc5e9e48f7d2","trace_id":"4d64e896d66883f8c9efc0d382c27d3f","subtype":null,"action":null,"timestamp":1646055553700356,"duration":168.133,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":55,"function":"Timeout._onTimeout","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"],"context_line":" performSubTasks(tasks, cb)","post_context":[" }, Math.random() * 20).unref()"," })"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-message","type":"request","result":"HTTP 5xx","id":"e0daf99362f7a8eb","trace_id":"1259899decf8473370763c5b4752f5d5","duration":235.5,"timestamp":1646055554221044,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-message","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-message","full":"http://opbeans-node:3000/log-message"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:39:14 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"2bacadaccb3b417b","trace_id":"5905c6febf50b2a1601c7bcf810c6abc","parent_id":"89c7437e2f06befe","duration":5366.808,"timestamp":1646055549483029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2/customers","full":"http://opbeans-node:3000/api/products/2/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-5905c6febf50b2a1601c7bcf810c6abc-89c7437e2f06befe-01","elastic-apm-traceparent":"00-5905c6febf50b2a1601c7bcf810c6abc-89c7437e2f06befe-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:14 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"d03d6dff456abea7","transaction_id":"2bacadaccb3b417b","parent_id":"2bacadaccb3b417b","trace_id":"5905c6febf50b2a1601c7bcf810c6abc","subtype":"http","action":"GET","timestamp":1646055549487450,"duration":5335.154,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/2/customers"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"0a84c94bf77ce7cc","trace_id":"d9fc476f4adf6fc7b9b83dce57be4e89","duration":4810.985,"timestamp":1646055550210078,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:14 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"57b43cb457abcfc4","transaction_id":"0a84c94bf77ce7cc","parent_id":"0a84c94bf77ce7cc","trace_id":"d9fc476f4adf6fc7b9b83dce57be4e89","subtype":"http","action":"GET","timestamp":1646055550241504,"duration":4702.922,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"a96fd83a12a4813e","trace_id":"5905c6febf50b2a1601c7bcf810c6abc","parent_id":"bc47cb48646cdddb","duration":5787.898,"timestamp":1646055549441019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2/customers","full":"http://opbeans-node:3000/api/products/2/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-5905c6febf50b2a1601c7bcf810c6abc-bc47cb48646cdddb-01","elastic-apm-traceparent":"00-5905c6febf50b2a1601c7bcf810c6abc-bc47cb48646cdddb-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"110745","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:14 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"9eb4a7672e9c690e","transaction_id":"a96fd83a12a4813e","parent_id":"a96fd83a12a4813e","trace_id":"5905c6febf50b2a1601c7bcf810c6abc","subtype":"http","action":"GET","timestamp":1646055549445310,"duration":5744.752,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/2/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"27eac7d361817b69","trace_id":"cce2a808525e0e5b8ca31d009d18ba8e","parent_id":"2413547f9f2c4ee9","duration":3021.203,"timestamp":1646055552339034,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/302","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/302","full":"http://opbeans-node:3000/api/orders/302"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-cce2a808525e0e5b8ca31d009d18ba8e-2413547f9f2c4ee9-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-cce2a808525e0e5b8ca31d009d18ba8e-2413547f9f2c4ee9-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"311","content-type":"application/json","date":"Mon, 28 Feb 2022 13:39:15 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"1529fcf39c75cb47","transaction_id":"27eac7d361817b69","parent_id":"27eac7d361817b69","trace_id":"cce2a808525e0e5b8ca31d009d18ba8e","subtype":"http","action":"GET","timestamp":1646055552347169,"duration":2974.762,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders/302"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b0e90bc04b269696","trace_id":"ced65dc74cc80a1a0843a2623045c86f","duration":721.355,"timestamp":1646055554727088,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","cache-control":"max-age=0, private, must-revalidate","content-type":"application/json; charset=utf-8","etag":"W/\"6b84b8cfae4908f93f790804f2c9e7c9\"","referrer-policy":"strict-origin-when-cross-origin","x-content-type-options":"nosniff","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-request-id":"85ff4ea1-aedf-423d-ae17-e6d9e9fe27b9","x-runtime":"0.472051","x-xss-protection":"1; mode=block","date":"Mon, 28 Feb 2022 13:39:15 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"bc7b72e14723ea79","trace_id":"af9d769b2db970f801ed80a7c076b09c","duration":2296.051,"timestamp":1646055553203045,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:15 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"63ae3fe9ae120761","trace_id":"cce2a808525e0e5b8ca31d009d18ba8e","duration":3286.849,"timestamp":1646055552233036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/302","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/302","full":"http://opbeans-node:3000/api/orders/302"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:15 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"4e55dc9623ec4956","trace_id":"5905c6febf50b2a1601c7bcf810c6abc","parent_id":"e702bd5dd8b2067c","duration":6152.741,"timestamp":1646055549406064,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/2/customers","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-5905c6febf50b2a1601c7bcf810c6abc-e702bd5dd8b2067c-01","traceparent":"00-5905c6febf50b2a1601c7bcf810c6abc-e702bd5dd8b2067c-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"110745","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:15 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"f0693f7e1d970285","transaction_id":"b0e90bc04b269696","parent_id":"b0e90bc04b269696","trace_id":"ced65dc74cc80a1a0843a2623045c86f","subtype":"http","action":"GET","timestamp":1646055554747331,"duration":681.341,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"5420f67a280ec797","transaction_id":"bc7b72e14723ea79","parent_id":"bc7b72e14723ea79","trace_id":"af9d769b2db970f801ed80a7c076b09c","subtype":"http","action":"GET","timestamp":1646055553223676,"duration":2268.221,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"be26ceea100b5bca","transaction_id":"63ae3fe9ae120761","parent_id":"63ae3fe9ae120761","trace_id":"cce2a808525e0e5b8ca31d009d18ba8e","subtype":"http","action":"GET","timestamp":1646055552269155,"duration":3242.785,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/orders/302"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"ad76e87f1a2e5a9a","transaction_id":"4e55dc9623ec4956","parent_id":"4e55dc9623ec4956","trace_id":"5905c6febf50b2a1601c7bcf810c6abc","subtype":"http","action":"GET","timestamp":1646055549412879,"duration":6136.002,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/2/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"3fc980efe8946313","transaction_id":"e4a6536fbc1c883b","parent_id":"e4a6536fbc1c883b","trace_id":"1d06d475d8d1d1c093d58ece6a3958e1","subtype":"postgresql","action":"query","timestamp":1646055555625487,"duration":17.724,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"e4a6536fbc1c883b","trace_id":"1d06d475d8d1d1c093d58ece6a3958e1","duration":116.786,"timestamp":1646055555573025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:39:15 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"952a516472a66796","transaction_id":"e4a6536fbc1c883b","parent_id":"e4a6536fbc1c883b","trace_id":"1d06d475d8d1d1c093d58ece6a3958e1","subtype":"postgresql","action":"query","timestamp":1646055555649470,"duration":25.199,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"1913f3ae3c1df66c","transaction_id":"e4a6536fbc1c883b","parent_id":"e4a6536fbc1c883b","trace_id":"1d06d475d8d1d1c093d58ece6a3958e1","subtype":"postgresql","action":"query","timestamp":1646055555652082,"duration":27.053,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"80ad382dc632307f","transaction_id":"e4a6536fbc1c883b","parent_id":"e4a6536fbc1c883b","trace_id":"1d06d475d8d1d1c093d58ece6a3958e1","subtype":"postgresql","action":"query","timestamp":1646055555655499,"duration":26.954,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"8c03d549169ef284","transaction_id":"dffb4202dadcb238","parent_id":"dffb4202dadcb238","trace_id":"2fc4c2c003bf87c2913ef525f6daff76","subtype":"postgresql","action":"query","timestamp":1646055555719643,"duration":6.268,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"dffb4202dadcb238","trace_id":"2fc4c2c003bf87c2913ef525f6daff76","parent_id":"c7b6a5a6461e0eef","duration":31.15,"timestamp":1646055555703069,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3/customers?limit=110","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3/customers","search":"?limit=110","full":"http://opbeans-node:3000/api/products/3/customers?limit=110"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-2fc4c2c003bf87c2913ef525f6daff76-c7b6a5a6461e0eef-01","elastic-apm-traceparent":"00-2fc4c2c003bf87c2913ef525f6daff76-c7b6a5a6461e0eef-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2247","etag":"W/\"8c7-DzU3uvPT9Eu5vDsXxF0AVpUtaII\"","date":"Mon, 28 Feb 2022 13:39:15 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"8addefb4b3520937","trace_id":"28e3a8fa7145b18c31bd44df21b88e02","duration":9.253,"timestamp":1646055555740019,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:39:15 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"ff8e7d467dd9358a","trace_id":"611a601e4a3aecfd819ed236aaffbe3b","parent_id":"242bf8bec361aca3","duration":18.445,"timestamp":1646055555905021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:15 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"1eb02de27ee6d768","trace_id":"bf3a81534222105ee90a3ec4b737e0a6","parent_id":"d4a930026045409c","duration":168.668,"timestamp":1646055555780028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-bf3a81534222105ee90a3ec4b737e0a6-d4a930026045409c-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-bf3a81534222105ee90a3ec4b737e0a6-d4a930026045409c-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"83","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:15 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"77f76e4bfb8ed052","transaction_id":"1eb02de27ee6d768","parent_id":"1eb02de27ee6d768","trace_id":"bf3a81534222105ee90a3ec4b737e0a6","subtype":"http","action":"GET","timestamp":1646055555799635,"duration":144.809,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"fa661c5056c4612f","trace_id":"bf3a81534222105ee90a3ec4b737e0a6","parent_id":"86bf4367fc25bc9e","duration":330.494,"timestamp":1646055555659025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/stats","full":"http://opbeans-go:3000/api/stats"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-bf3a81534222105ee90a3ec4b737e0a6-86bf4367fc25bc9e-01","traceparent":"00-bf3a81534222105ee90a3ec4b737e0a6-86bf4367fc25bc9e-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:15 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"f1c2ee749c8e7d4c","transaction_id":"fa661c5056c4612f","parent_id":"fa661c5056c4612f","trace_id":"bf3a81534222105ee90a3ec4b737e0a6","subtype":"http","action":"GET","timestamp":1646055555666270,"duration":316.313,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"e0679d6f62be9e6e","trace_id":"6bf63d894d741b916f05de7c3ea8b8c4","parent_id":"95c4957b73669910","duration":58.855,"timestamp":1646055556020064,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types","full":"http://opbeans-go:3000/api/types"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-6bf63d894d741b916f05de7c3ea8b8c4-95c4957b73669910-01","traceparent":"00-6bf63d894d741b916f05de7c3ea8b8c4-95c4957b73669910-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:16 GMT","content-length":"112","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"a774d7d61dcda7e5","transaction_id":"e0679d6f62be9e6e","parent_id":"e0679d6f62be9e6e","trace_id":"6bf63d894d741b916f05de7c3ea8b8c4","subtype":"http","action":"GET","timestamp":1646055556028073,"duration":46.45,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"5454659ac0071ee1","transaction_id":"d5092df120f470b9","parent_id":"d5092df120f470b9","trace_id":"a15b40b1706fcb7a98a8729ce681ff2d","subtype":"redis","action":null,"timestamp":1646055556084758,"duration":3.596,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"b87dceecc8f0404d","transaction_id":"d5092df120f470b9","parent_id":"d5092df120f470b9","trace_id":"a15b40b1706fcb7a98a8729ce681ff2d","subtype":"postgresql","action":"query","timestamp":1646055556090673,"duration":3.679,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"d5092df120f470b9","trace_id":"a15b40b1706fcb7a98a8729ce681ff2d","parent_id":"94d74f6f610f5111","duration":33.468,"timestamp":1646055556065029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-a15b40b1706fcb7a98a8729ce681ff2d-94d74f6f610f5111-01","elastic-apm-traceparent":"00-a15b40b1706fcb7a98a8729ce681ff2d-94d74f6f610f5111-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:39:16 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"034e35e2d23806d6","trace_id":"a15b40b1706fcb7a98a8729ce681ff2d","parent_id":"2d942144ff1cd1c4","duration":204.344,"timestamp":1646055555955017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-a15b40b1706fcb7a98a8729ce681ff2d-2d942144ff1cd1c4-01","elastic-apm-traceparent":"00-a15b40b1706fcb7a98a8729ce681ff2d-2d942144ff1cd1c4-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:16 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"112","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"2827c77d00425e2f","transaction_id":"034e35e2d23806d6","parent_id":"034e35e2d23806d6","trace_id":"a15b40b1706fcb7a98a8729ce681ff2d","subtype":"http","action":"GET","timestamp":1646055555959591,"duration":195.603,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"35b551f9ae4f43ce","trace_id":"a15b40b1706fcb7a98a8729ce681ff2d","parent_id":"756104669c7870da","duration":390.276,"timestamp":1646055555849036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-a15b40b1706fcb7a98a8729ce681ff2d-756104669c7870da-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-a15b40b1706fcb7a98a8729ce681ff2d-756104669c7870da-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:16 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"010330cdb91d7b97","transaction_id":"35b551f9ae4f43ce","parent_id":"35b551f9ae4f43ce","trace_id":"a15b40b1706fcb7a98a8729ce681ff2d","subtype":"http","action":"GET","timestamp":1646055555865902,"duration":368.246,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"58a0938f4b8b7c59","transaction_id":"c66e524bf6015122","parent_id":"c66e524bf6015122","trace_id":"3b8536b683b3d4b3c7347856aac921b6","subtype":"postgresql","action":"query","timestamp":1646055556278119,"duration":6.007,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"c66e524bf6015122","trace_id":"3b8536b683b3d4b3c7347856aac921b6","duration":55.374,"timestamp":1646055556261022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/1","full":"http://opbeans-node:3000/api/types/1"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"217","etag":"W/\"d9-cebOOHODBQMZd1wt+ZZBaSPgQLQ\"","date":"Mon, 28 Feb 2022 13:39:16 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"387d9e319883d1be","transaction_id":"c66e524bf6015122","parent_id":"c66e524bf6015122","trace_id":"3b8536b683b3d4b3c7347856aac921b6","subtype":"postgresql","action":"query","timestamp":1646055556285727,"duration":15.734,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"e57ef2bbb26eb7a7","trace_id":"cc34f2d6cf0a80f563bfd65300db6058","parent_id":"153ae9dae7e5209c","duration":45.063,"timestamp":1646055556289016,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3/customers?limit=50","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/3/customers","search":"?limit=50","full":"http://opbeans-go:3000/api/products/3/customers?limit=50"},"headers":{"host":"opbeans-go:3000","accept-encoding":"gzip","elastic-apm-traceparent":"00-cc34f2d6cf0a80f563bfd65300db6058-153ae9dae7e5209c-01","traceparent":"00-cc34f2d6cf0a80f563bfd65300db6058-153ae9dae7e5209c-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.10, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2247","etag":"W/\"8c7-DzU3uvPT9Eu5vDsXxF0AVpUtaII\"","date":"Mon, 28 Feb 2022 13:39:16 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"b6474ccb8401c33b","transaction_id":"e57ef2bbb26eb7a7","parent_id":"e57ef2bbb26eb7a7","trace_id":"cc34f2d6cf0a80f563bfd65300db6058","subtype":"postgresql","action":"query","timestamp":1646055556297254,"duration":28.74,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"d4a45b42ddf2bc45","trace_id":"cc34f2d6cf0a80f563bfd65300db6058","parent_id":"e221899db5c79fd7","duration":182.806,"timestamp":1646055556181039,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3/customers?limit=50","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/3/customers","search":"?limit=50","full":"http://opbeans-go:3000/api/products/3/customers?limit=50"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-cc34f2d6cf0a80f563bfd65300db6058-e221899db5c79fd7-01","traceparent":"00-cc34f2d6cf0a80f563bfd65300db6058-e221899db5c79fd7-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"2247","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:16 GMT","etag":"W/\"8c7-DzU3uvPT9Eu5vDsXxF0AVpUtaII\"","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"184bd2345a8e2820","transaction_id":"d4a45b42ddf2bc45","parent_id":"d4a45b42ddf2bc45","trace_id":"cc34f2d6cf0a80f563bfd65300db6058","subtype":"http","action":"GET","timestamp":1646055556201969,"duration":147.546,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/3/customers?limit=50"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"7762435b8baa422b","trace_id":"c7a2daa01da3d4e315e3a98e8ad104f3","parent_id":"f6a0cd98892e589a","duration":85.932,"timestamp":1646055556397032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/580","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders/580","full":"http://opbeans-go:3000/api/orders/580"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-c7a2daa01da3d4e315e3a98e8ad104f3-f6a0cd98892e589a-01","traceparent":"00-c7a2daa01da3d4e315e3a98e8ad104f3-f6a0cd98892e589a-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=UTF-8","x-request-id":"10c2eae1-fa99-46fd-8c6b-922d25301971","x-runtime":"0.023838","connection":"close","content-length":"1722","date":"Mon, 28 Feb 2022 13:39:16 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"ba6980fd2d934ca9","transaction_id":"7762435b8baa422b","parent_id":"7762435b8baa422b","trace_id":"c7a2daa01da3d4e315e3a98e8ad104f3","subtype":"http","action":"GET","timestamp":1646055556407040,"duration":52.671,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-ruby:3000/api/orders/580"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"d610a64aba34a31e","trace_id":"2cb05cebe2af2c47907ab3920be1b488","duration":20.071,"timestamp":1646055556716017,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:39:16 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"1066e11715b85352","trace_id":"8b76d388f85e2fde07ab309b64dc0da4","parent_id":"7a2ed33add7408a2","duration":102.098,"timestamp":1646055556703034,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/220","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/220","full":"http://opbeans-node:3000/api/customers/220"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-8b76d388f85e2fde07ab309b64dc0da4-7a2ed33add7408a2-01","elastic-apm-traceparent":"00-8b76d388f85e2fde07ab309b64dc0da4-7a2ed33add7408a2-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:16 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"192","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"fbbc27838b9461a9","transaction_id":"1066e11715b85352","parent_id":"1066e11715b85352","trace_id":"8b76d388f85e2fde07ab309b64dc0da4","subtype":"http","action":"GET","timestamp":1646055556709898,"duration":90.543,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers/220"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"ce8a08541f5fbd77","trace_id":"acc099954d983118ff26925edbf20e28","parent_id":"b6fe38672e3e1976","duration":118.175,"timestamp":1646055556774026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types","full":"http://opbeans-go:3000/api/types"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-acc099954d983118ff26925edbf20e28-b6fe38672e3e1976-01","traceparent":"00-acc099954d983118ff26925edbf20e28-b6fe38672e3e1976-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:16 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"d85c9a96166db8bb","transaction_id":"ce8a08541f5fbd77","parent_id":"ce8a08541f5fbd77","trace_id":"acc099954d983118ff26925edbf20e28","subtype":"http","action":"GET","timestamp":1646055556783720,"duration":65.306,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"a22aafc8f67a14fd","transaction_id":"28be4c2f23c45e78","parent_id":"28be4c2f23c45e78","trace_id":"2b69ec2ae455ff7c0ac256ab5783fbb6","subtype":"postgresql","action":"query","timestamp":1646055556971316,"duration":5.794,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"e7f99baf29d8ad7d","transaction_id":"28be4c2f23c45e78","parent_id":"28be4c2f23c45e78","trace_id":"2b69ec2ae455ff7c0ac256ab5783fbb6","subtype":"postgresql","action":"query","timestamp":1646055556979375,"duration":7.339,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"2ba25b334636aac3","transaction_id":"28be4c2f23c45e78","parent_id":"28be4c2f23c45e78","trace_id":"2b69ec2ae455ff7c0ac256ab5783fbb6","subtype":"postgresql","action":"query","timestamp":1646055556981546,"duration":6.94,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"e9a1328f309b8272","transaction_id":"28be4c2f23c45e78","parent_id":"28be4c2f23c45e78","trace_id":"2b69ec2ae455ff7c0ac256ab5783fbb6","subtype":"postgresql","action":"query","timestamp":1646055556983589,"duration":6.259,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"28be4c2f23c45e78","trace_id":"2b69ec2ae455ff7c0ac256ab5783fbb6","parent_id":"614230c251bdc4b6","duration":36.701,"timestamp":1646055556959026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-2b69ec2ae455ff7c0ac256ab5783fbb6-614230c251bdc4b6-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-2b69ec2ae455ff7c0ac256ab5783fbb6-614230c251bdc4b6-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:39:16 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"f3ab7ee7f27fd78b","trace_id":"cfcc20ff96684042e10057959419cae2","parent_id":"f44d00910c34aab0","duration":59.536,"timestamp":1646055557039024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/852","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/852","full":"http://opbeans-go:3000/api/customers/852"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-cfcc20ff96684042e10057959419cae2-f44d00910c34aab0-01","traceparent":"00-cfcc20ff96684042e10057959419cae2-f44d00910c34aab0-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"178","etag":"W/\"b2-qwsBZBlhs8NBa9d4Y9wz7Brywkc\"","date":"Mon, 28 Feb 2022 13:39:17 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"cf252d46d4a8a76d","transaction_id":"f3ab7ee7f27fd78b","parent_id":"f3ab7ee7f27fd78b","trace_id":"cfcc20ff96684042e10057959419cae2","subtype":"postgresql","action":"query","timestamp":1646055557061111,"duration":11.16,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"ebf6e2b92dc7a0c7","trace_id":"e9001176d31a1c9383988f4db51bd1c6","duration":58.67,"timestamp":1646055557227140,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/104","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/104","full":"http://opbeans-node:3000/api/orders/104"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-length":"1722","content-type":"text/html; charset=UTF-8","x-request-id":"5bc31b44-6390-4a51-a598-bf3f05bc8220","x-runtime":"0.030158","date":"Mon, 28 Feb 2022 13:39:17 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"1ccf5e39b2d75104","transaction_id":"ebf6e2b92dc7a0c7","parent_id":"ebf6e2b92dc7a0c7","trace_id":"e9001176d31a1c9383988f4db51bd1c6","subtype":"http","action":"GET","timestamp":1646055557234200,"duration":46.225,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-go:3000/api/orders/104"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"cfb25445d2698722","trace_id":"c5048902525290cb942707ded257f60a","parent_id":"d4771f772588a5c2","duration":40.161,"timestamp":1646055557496027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types","full":"http://opbeans-go:3000/api/types"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-c5048902525290cb942707ded257f60a-d4771f772588a5c2-01","traceparent":"00-c5048902525290cb942707ded257f60a-d4771f772588a5c2-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:17 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"123","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"16c6f13f7b78e950","transaction_id":"cfb25445d2698722","parent_id":"cfb25445d2698722","trace_id":"c5048902525290cb942707ded257f60a","subtype":"http","action":"GET","timestamp":1646055557500963,"duration":28.815,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"09bc28c41a6c58a8","transaction_id":"e9a21088094f62a8","parent_id":"e9a21088094f62a8","trace_id":"f092315b64f13f1e9f9b27caa34e98ba","subtype":"redis","action":null,"timestamp":1646055557558730,"duration":5.706,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"e9439670569a27e3","transaction_id":"e9a21088094f62a8","parent_id":"e9a21088094f62a8","trace_id":"f092315b64f13f1e9f9b27caa34e98ba","subtype":"postgresql","action":"query","timestamp":1646055557566036,"duration":3.676,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"e9a21088094f62a8","trace_id":"f092315b64f13f1e9f9b27caa34e98ba","parent_id":"5bcf4b3fd929c856","duration":22.157,"timestamp":1646055557551019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types","full":"http://opbeans-go:3000/api/types"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-f092315b64f13f1e9f9b27caa34e98ba-5bcf4b3fd929c856-01","traceparent":"00-f092315b64f13f1e9f9b27caa34e98ba-5bcf4b3fd929c856-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:39:17 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"29ff92c381b54db6","transaction_id":"f5d29cb4418e0f7b","parent_id":"f5d29cb4418e0f7b","trace_id":"c1ec4a85952394e0db5b208b5538021e","subtype":"postgresql","action":"query","timestamp":1646055557625881,"duration":2.83,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"f5d29cb4418e0f7b","trace_id":"c1ec4a85952394e0db5b208b5538021e","parent_id":"7ea3140918f81a57","duration":37.267,"timestamp":1646055557617133,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/top","full":"http://opbeans-go:3000/api/products/top"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-c1ec4a85952394e0db5b208b5538021e-7ea3140918f81a57-01","traceparent":"00-c1ec4a85952394e0db5b208b5538021e-7ea3140918f81a57-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:39:17 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"1dbf26a91b1655ba","transaction_id":"f5d29cb4418e0f7b","parent_id":"f5d29cb4418e0f7b","trace_id":"c1ec4a85952394e0db5b208b5538021e","subtype":"postgresql","action":"query","timestamp":1646055557630352,"duration":12.3,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"a90ca0c7ba78cbd9","transaction_id":"f5d29cb4418e0f7b","parent_id":"f5d29cb4418e0f7b","trace_id":"c1ec4a85952394e0db5b208b5538021e","subtype":"postgresql","action":"query","timestamp":1646055557633147,"duration":12.328,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"bda758a67b4b7dc8","transaction_id":"f5d29cb4418e0f7b","parent_id":"f5d29cb4418e0f7b","trace_id":"c1ec4a85952394e0db5b208b5538021e","subtype":"postgresql","action":"query","timestamp":1646055557636555,"duration":11.937,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"6245f00556124ee9","trace_id":"6b0894de67292b3e55659fb9e2b2fc1c","duration":53.901,"timestamp":1646055557741064,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/8","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/8","full":"http://opbeans-node:3000/api/customers/8"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:17 GMT","content-length":"179","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"e84c3503bbdeb3f1","transaction_id":"6245f00556124ee9","parent_id":"6245f00556124ee9","trace_id":"6b0894de67292b3e55659fb9e2b2fc1c","subtype":"http","action":"GET","timestamp":1646055557764546,"duration":19.129,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers/8"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"39d07313aae57549","transaction_id":"98106739b12daec3","parent_id":"98106739b12daec3","trace_id":"d4d004eba304d983de616166967059ae","subtype":"postgresql","action":"query","timestamp":1646055557956721,"duration":8.39,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f9872b91e08829db","transaction_id":"98106739b12daec3","parent_id":"98106739b12daec3","trace_id":"d4d004eba304d983de616166967059ae","subtype":"postgresql","action":"query","timestamp":1646055557967981,"duration":5.292,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"98106739b12daec3","trace_id":"d4d004eba304d983de616166967059ae","parent_id":"e1576b917f210d18","duration":57.86,"timestamp":1646055557934066,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/3","full":"http://opbeans-go:3000/api/types/3"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-d4d004eba304d983de616166967059ae-e1576b917f210d18-01","traceparent":"00-d4d004eba304d983de616166967059ae-e1576b917f210d18-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"189","etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","date":"Mon, 28 Feb 2022 13:39:17 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"27d209bdfc4bbd7a","trace_id":"14a0c402aa5e7fd2701c063252a3b464","parent_id":"99551c51ef88c495","duration":98.454,"timestamp":1646055558089045,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/715","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders/715","full":"http://opbeans-go:3000/api/orders/715"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-14a0c402aa5e7fd2701c063252a3b464-99551c51ef88c495-01","traceparent":"00-14a0c402aa5e7fd2701c063252a3b464-99551c51ef88c495-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-length":"1722","content-type":"text/html; charset=UTF-8","x-request-id":"48b205a0-1acd-4d8a-8bf6-259c8fdf0605","x-runtime":"0.040098","date":"Mon, 28 Feb 2022 13:39:18 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"02901b6a20d0bad3","transaction_id":"27d209bdfc4bbd7a","parent_id":"27d209bdfc4bbd7a","trace_id":"14a0c402aa5e7fd2701c063252a3b464","subtype":"http","action":"GET","timestamp":1646055558110953,"duration":70.487,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-go:3000/api/orders/715"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"559f726347636b97","trace_id":"beb20388543f9b4369748f1e7584a4d6","parent_id":"5431fb3f740641dd","duration":51.159,"timestamp":1646055558323039,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:18 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"07fa589e3002cd1c","trace_id":"1816d3a437ea35a307cbaac57c6f2dfb","parent_id":"88f1c116a92782da","duration":10363.821,"timestamp":1646055548061020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-1816d3a437ea35a307cbaac57c6f2dfb-88f1c116a92782da-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-1816d3a437ea35a307cbaac57c6f2dfb-88f1c116a92782da-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:18 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"108580","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"65e8950d347003f1","transaction_id":"07fa589e3002cd1c","parent_id":"07fa589e3002cd1c","trace_id":"1816d3a437ea35a307cbaac57c6f2dfb","subtype":"http","action":"GET","timestamp":1646055548065984,"duration":10346.478,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"47d902272908e495","transaction_id":"50e341ac6a236081","parent_id":"50e341ac6a236081","trace_id":"3ca84857c04737aecf23d41d97481345","subtype":"postgresql","action":"query","timestamp":1646055558685292,"duration":3.582,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"50e341ac6a236081","trace_id":"3ca84857c04737aecf23d41d97481345","parent_id":"d22ff56ef1772179","duration":25.073,"timestamp":1646055558672024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/595","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders/595","full":"http://opbeans-go:3000/api/orders/595"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-3ca84857c04737aecf23d41d97481345-d22ff56ef1772179-01","traceparent":"00-3ca84857c04737aecf23d41d97481345-d22ff56ef1772179-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:39:18 GMT","connection":"keep-alive","keep-alive":"timeout=5","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"8da4414048f85e4e","transaction_id":"a12747c17cb75996","parent_id":"a12747c17cb75996","trace_id":"f9c6f62b14b475d51f6774f5acb12d19","subtype":"postgresql","action":"query","timestamp":1646055558736597,"duration":3.839,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"a12747c17cb75996","trace_id":"f9c6f62b14b475d51f6774f5acb12d19","duration":36.178,"timestamp":1646055558725027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/6","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/6","full":"http://opbeans-node:3000/api/products/6"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"254","etag":"W/\"fe-vUW963ju559F4nwQXb+Wg4ZAqdk\"","date":"Mon, 28 Feb 2022 13:39:18 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b5738ed3727566b3","trace_id":"81fb5b5fdec0820a0fd479f9fd209ac6","parent_id":"ce6b51366d25ab52","duration":76.613,"timestamp":1646055558894020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-81fb5b5fdec0820a0fd479f9fd209ac6-ce6b51366d25ab52-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-81fb5b5fdec0820a0fd479f9fd209ac6-ce6b51366d25ab52-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"37992d7e5d1df22332cd7c5be552ddce\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"f976a9a1-c84b-449c-bdb4-1641e4ae62e1","x-runtime":"0.035708","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:18 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"d9b4d4c2b89ffd48","transaction_id":"b5738ed3727566b3","parent_id":"b5738ed3727566b3","trace_id":"81fb5b5fdec0820a0fd479f9fd209ac6","subtype":"http","action":"GET","timestamp":1646055558902207,"duration":63.72,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"54175ac5d39d004b","transaction_id":"3448bd8286347cd8","parent_id":"3448bd8286347cd8","trace_id":"fd5f19eacd929bb7d1466b61f00c192a","subtype":"postgresql","action":"query","timestamp":1646055559038366,"duration":4.077,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"3448bd8286347cd8","trace_id":"fd5f19eacd929bb7d1466b61f00c192a","parent_id":"e6cf8707e5a62d57","duration":41.535,"timestamp":1646055559033022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/top","full":"http://opbeans-go:3000/api/products/top"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-fd5f19eacd929bb7d1466b61f00c192a-e6cf8707e5a62d57-01","traceparent":"00-fd5f19eacd929bb7d1466b61f00c192a-e6cf8707e5a62d57-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:39:19 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"460575977c91a141","transaction_id":"3448bd8286347cd8","parent_id":"3448bd8286347cd8","trace_id":"fd5f19eacd929bb7d1466b61f00c192a","subtype":"postgresql","action":"query","timestamp":1646055559044335,"duration":11.507,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"56544ae607b7c177","transaction_id":"3448bd8286347cd8","parent_id":"3448bd8286347cd8","trace_id":"fd5f19eacd929bb7d1466b61f00c192a","subtype":"postgresql","action":"query","timestamp":1646055559045856,"duration":16.118,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"2f5a5b60264fe67a","transaction_id":"3448bd8286347cd8","parent_id":"3448bd8286347cd8","trace_id":"fd5f19eacd929bb7d1466b61f00c192a","subtype":"postgresql","action":"query","timestamp":1646055559047309,"duration":16.651,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"b2a3a370a66e8d51","trace_id":"a3fee3985a9b1a3d7216b383883c7709","duration":13.905,"timestamp":1646055559210032,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:39:19 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"Fetch package status for all orders","type":"custom","id":"7702003a5e1e545f","transaction_id":"fcaa81b32464ba1f","parent_id":"fcaa81b32464ba1f","trace_id":"02451c8093ebeae498011f395a4fffaf","subtype":null,"action":null,"timestamp":1646055558566177,"duration":846.23,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":43,"function":"updateShippingStatus","library_frame":false,"abs_path":"/app/worker.js","pre_context":[""," apm.startTransaction('Update shipping status', 'Worker')"],"context_line":" performSubTasks(['Fetch package status for all orders', 'Send tracking emails'], function () {","post_context":[" apm.endTransaction()"," queue(updateShippingStatus)"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"521d09640514cc83","trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","parent_id":"d6eb340bcf0545e5","duration":59.657,"timestamp":1646055559554018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4","full":"http://opbeans-node:3000/api/products/4"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-16b2ba7f687b8fd62eb63d48ec93da05-d6eb340bcf0545e5-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-16b2ba7f687b8fd62eb63d48ec93da05-d6eb340bcf0545e5-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:19 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"260","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"15ddf34260f260fe","transaction_id":"521d09640514cc83","parent_id":"521d09640514cc83","trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","subtype":"http","action":"GET","timestamp":1646055559561310,"duration":41.09,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/4"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"aeb26434a3628bfb","trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","parent_id":"012627b9972a12e6","duration":217.772,"timestamp":1646055559432027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/4","full":"http://opbeans-go:3000/api/products/4"},"headers":{"host":"opbeans-go:3000","elastic-apm-traceparent":"00-16b2ba7f687b8fd62eb63d48ec93da05-012627b9972a12e6-01","traceparent":"00-16b2ba7f687b8fd62eb63d48ec93da05-012627b9972a12e6-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.10","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:19 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"260","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"18c4e0c3d66478fc","transaction_id":"aeb26434a3628bfb","parent_id":"aeb26434a3628bfb","trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","subtype":"http","action":"GET","timestamp":1646055559477701,"duration":163.093,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/4"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"4cf41c549147cd2f","trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","parent_id":"967ae9907f6222a5","duration":281.341,"timestamp":1646055559395031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/4","full":"http://opbeans-go:3000/api/products/4"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-16b2ba7f687b8fd62eb63d48ec93da05-967ae9907f6222a5-01","traceparent":"00-16b2ba7f687b8fd62eb63d48ec93da05-967ae9907f6222a5-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"260","content-type":"application/json","date":"Mon, 28 Feb 2022 13:39:19 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"201999048e014d5d","transaction_id":"4cf41c549147cd2f","parent_id":"4cf41c549147cd2f","trace_id":"16b2ba7f687b8fd62eb63d48ec93da05","subtype":"http","action":"GET","timestamp":1646055559402021,"duration":270.471,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/4"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"e1745e05691b15b0","trace_id":"bde11fddb1e38ed082a4790ce104cc0b","duration":10.632,"timestamp":1646055559720028,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:39:19 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"Update shipping status","type":"Worker","result":"success","id":"fcaa81b32464ba1f","trace_id":"02451c8093ebeae498011f395a4fffaf","duration":1472.302,"timestamp":1646055558556048,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{}},"span_count":{"started":2},"outcome":"unknown","sample_rate":1}} +{"span":{"name":"Send tracking emails","type":"custom","id":"9f7722a7362a11e3","transaction_id":"fcaa81b32464ba1f","parent_id":"fcaa81b32464ba1f","trace_id":"02451c8093ebeae498011f395a4fffaf","subtype":null,"action":null,"timestamp":1646055559465004,"duration":558.381,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":55,"function":"Timeout._onTimeout","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"],"context_line":" performSubTasks(tasks, cb)","post_context":[" }, Math.random() * 20).unref()"," })"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"241b7b4f9fcc24df","transaction_id":"3a39e522ac96570a","parent_id":"3a39e522ac96570a","trace_id":"0160d0beb10770fe2d334f79859f310e","subtype":"redis","action":null,"timestamp":1646055560088242,"duration":3.911,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"5eb542960d1295fb","transaction_id":"3a39e522ac96570a","parent_id":"3a39e522ac96570a","trace_id":"0160d0beb10770fe2d334f79859f310e","subtype":"postgresql","action":"query","timestamp":1646055560100294,"duration":50.084,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"3a39e522ac96570a","trace_id":"0160d0beb10770fe2d334f79859f310e","parent_id":"c8860be9c0256656","duration":124.105,"timestamp":1646055560079020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-0160d0beb10770fe2d334f79859f310e-c8860be9c0256656-01","elastic-apm-traceparent":"00-0160d0beb10770fe2d334f79859f310e-c8860be9c0256656-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:39:20 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"5f0e9eac9b9cafcd","transaction_id":"0f87d593a7d54d69","parent_id":"0f87d593a7d54d69","trace_id":"cdc4f176ebcd593646e2f1df26fd2234","subtype":"postgresql","action":"query","timestamp":1646055560242880,"duration":18.413,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"3c6362cb5172bbf3","transaction_id":"0f87d593a7d54d69","parent_id":"0f87d593a7d54d69","trace_id":"cdc4f176ebcd593646e2f1df26fd2234","subtype":"postgresql","action":"query","timestamp":1646055560267192,"duration":7.231,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"0f87d593a7d54d69","trace_id":"cdc4f176ebcd593646e2f1df26fd2234","duration":59.225,"timestamp":1646055560228040,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/1","full":"http://opbeans-node:3000/api/types/1"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"217","etag":"W/\"d9-cebOOHODBQMZd1wt+ZZBaSPgQLQ\"","date":"Mon, 28 Feb 2022 13:39:20 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"2a89f16f78b81d04","trace_id":"3c34786bce8d3b67155d918e9bf65d8a","parent_id":"479e86f9de12e337","duration":53.919,"timestamp":1646055560355035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/566","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/566","full":"http://opbeans-node:3000/api/customers/566"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-3c34786bce8d3b67155d918e9bf65d8a-479e86f9de12e337-01","elastic-apm-traceparent":"00-3c34786bce8d3b67155d918e9bf65d8a-479e86f9de12e337-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:20 GMT","content-length":"186","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"4b342a981cd2549c","transaction_id":"2a89f16f78b81d04","parent_id":"2a89f16f78b81d04","trace_id":"3c34786bce8d3b67155d918e9bf65d8a","subtype":"http","action":"GET","timestamp":1646055560373993,"duration":26.037,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers/566"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b72efc54395ebe84","trace_id":"3c34786bce8d3b67155d918e9bf65d8a","parent_id":"dd178d75525c09c0","duration":205.543,"timestamp":1646055560306017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/566","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/566","full":"http://opbeans-go:3000/api/customers/566"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-3c34786bce8d3b67155d918e9bf65d8a-dd178d75525c09c0-01","traceparent":"00-3c34786bce8d3b67155d918e9bf65d8a-dd178d75525c09c0-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:20 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"186","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"674d7b5ec8d5f21e","transaction_id":"b72efc54395ebe84","parent_id":"b72efc54395ebe84","trace_id":"3c34786bce8d3b67155d918e9bf65d8a","subtype":"http","action":"GET","timestamp":1646055560314246,"duration":182.796,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers/566"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"OPTIONS unknown route","type":"request","result":"HTTP 2xx","id":"00f140ac20cf4919","trace_id":"78cec5614db5b9a46314e1a907f27190","duration":39.963,"timestamp":1646055560711047,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"OPTIONS","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","content-length":"0","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","allow":"GET,HEAD","content-type":"text/html; charset=utf-8","content-length":"8","etag":"W/\"8-ZRAf8oNBS3Bjb/SU2GYZCmbtmXg\"","date":"Mon, 28 Feb 2022 13:39:20 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"a38cf519408f87f3","trace_id":"f51924d8404d97fa5504a5c9783fdc08","parent_id":"35fbba9a928cede6","duration":121.493,"timestamp":1646055560668025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/995","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders/995","full":"http://opbeans-go:3000/api/orders/995"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-f51924d8404d97fa5504a5c9783fdc08-35fbba9a928cede6-01","traceparent":"00-f51924d8404d97fa5504a5c9783fdc08-35fbba9a928cede6-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:20 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"a6bc746c07fb530f","transaction_id":"a38cf519408f87f3","parent_id":"a38cf519408f87f3","trace_id":"f51924d8404d97fa5504a5c9783fdc08","subtype":"http","action":"GET","timestamp":1646055560676367,"duration":103.001,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/orders/995"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"43be028fe3d925c2","trace_id":"4b8bbdc2a812dab1cb345569c6bdfa06","parent_id":"aaa802e8011467ce","duration":54.501,"timestamp":1646055561071028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/2","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/2","full":"http://opbeans-go:3000/api/types/2"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-4b8bbdc2a812dab1cb345569c6bdfa06-aaa802e8011467ce-01","traceparent":"00-4b8bbdc2a812dab1cb345569c6bdfa06-aaa802e8011467ce-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:21 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"221","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"c5e68a453e9d1b03","transaction_id":"43be028fe3d925c2","parent_id":"43be028fe3d925c2","trace_id":"4b8bbdc2a812dab1cb345569c6bdfa06","subtype":"http","action":"GET","timestamp":1646055561076871,"duration":44.051,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types/2"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"51f59e8121887186","transaction_id":"8b17ea1bab75d0b4","parent_id":"8b17ea1bab75d0b4","trace_id":"e4b449b99df757f5def0e251a39e2ec8","subtype":"postgresql","action":"query","timestamp":1646055561159098,"duration":8.328,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"8b17ea1bab75d0b4","trace_id":"e4b449b99df757f5def0e251a39e2ec8","parent_id":"506f6756d0ac3677","duration":35.637,"timestamp":1646055561144028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/974","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/974","full":"http://opbeans-go:3000/api/customers/974"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-e4b449b99df757f5def0e251a39e2ec8-506f6756d0ac3677-01","traceparent":"00-e4b449b99df757f5def0e251a39e2ec8-506f6756d0ac3677-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"196","etag":"W/\"c4-/VcbUDizWngDv9C9BnTg38dfTu0\"","date":"Mon, 28 Feb 2022 13:39:21 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"794e6846b8632f62","trace_id":"18af4b7e5b90499912586afd17caabd1","duration":50.434,"timestamp":1646055561237022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/212","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/212","full":"http://opbeans-node:3000/api/orders/212"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:39:21 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"df7bd37fcdfe6b57","transaction_id":"794e6846b8632f62","parent_id":"794e6846b8632f62","trace_id":"18af4b7e5b90499912586afd17caabd1","subtype":"postgresql","action":"query","timestamp":1646055561260636,"duration":13.996,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"1a293c9d3120969d","transaction_id":"3e8f1cde44bf760a","parent_id":"3e8f1cde44bf760a","trace_id":"46b9c487b5cba0cc1eb496a4af1ae1ca","subtype":"redis","action":null,"timestamp":1646055561360747,"duration":4.688,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"3e8f1cde44bf760a","trace_id":"46b9c487b5cba0cc1eb496a4af1ae1ca","parent_id":"546a08608a738a89","duration":70.386,"timestamp":1646055561344068,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders","full":"http://opbeans-go:3000/api/orders"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-46b9c487b5cba0cc1eb496a4af1ae1ca-546a08608a738a89-01","traceparent":"00-46b9c487b5cba0cc1eb496a4af1ae1ca-546a08608a738a89-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:39:21 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"c04e104446d982cc","transaction_id":"3e8f1cde44bf760a","parent_id":"3e8f1cde44bf760a","trace_id":"46b9c487b5cba0cc1eb496a4af1ae1ca","subtype":"postgresql","action":"query","timestamp":1646055561381693,"duration":13.808,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 4xx","id":"1f9028b49cf42a70","trace_id":"3733ad1dad5bf0eb6040ee66d2adc7a8","parent_id":"3c58ac6baf68c68e","duration":67.998,"timestamp":1646055561511021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/8186","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/8186","full":"http://opbeans-go:3000/api/customers/8186"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-3733ad1dad5bf0eb6040ee66d2adc7a8-3c58ac6baf68c68e-01","traceparent":"00-3733ad1dad5bf0eb6040ee66d2adc7a8-3c58ac6baf68c68e-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:39:21 GMT","connection":"keep-alive","keep-alive":"timeout=5","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"9a2a4bce7611bbd1","transaction_id":"1f9028b49cf42a70","parent_id":"1f9028b49cf42a70","trace_id":"3733ad1dad5bf0eb6040ee66d2adc7a8","subtype":"postgresql","action":"query","timestamp":1646055561516840,"duration":31.151,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"1399573734200dfa","trace_id":"fefd311e6b201082119f58c9fe99056e","parent_id":"b9c4e42faad75925","duration":35.722,"timestamp":1646055561789035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:21 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"0458cb8f6e40646f","transaction_id":"7e5bb5fd56176501","parent_id":"7e5bb5fd56176501","trace_id":"1faf5624ea8bca82f9d9efe43cfbf5dc","subtype":"postgresql","action":"query","timestamp":1646055562226046,"duration":6.479,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"7e5bb5fd56176501","trace_id":"1faf5624ea8bca82f9d9efe43cfbf5dc","duration":22.354,"timestamp":1646055562217021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/485","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/485","full":"http://opbeans-node:3000/api/orders/485"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:39:22 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"2ecb48332d2e79de","transaction_id":"4eb26ffbf5addec1","parent_id":"4eb26ffbf5addec1","trace_id":"fcfa8650acb5081a0dd04a83a25b0a41","subtype":"postgresql","action":"query","timestamp":1646055562297424,"duration":2.989,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f2ef576b91cbf9e1","transaction_id":"4eb26ffbf5addec1","parent_id":"4eb26ffbf5addec1","trace_id":"fcfa8650acb5081a0dd04a83a25b0a41","subtype":"postgresql","action":"query","timestamp":1646055562301683,"duration":6.338,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"0b65c41915cc6232","transaction_id":"4eb26ffbf5addec1","parent_id":"4eb26ffbf5addec1","trace_id":"fcfa8650acb5081a0dd04a83a25b0a41","subtype":"postgresql","action":"query","timestamp":1646055562303554,"duration":6.133,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"99fe8dcffc196348","transaction_id":"4eb26ffbf5addec1","parent_id":"4eb26ffbf5addec1","trace_id":"fcfa8650acb5081a0dd04a83a25b0a41","subtype":"postgresql","action":"query","timestamp":1646055562305226,"duration":5.857,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"4eb26ffbf5addec1","trace_id":"fcfa8650acb5081a0dd04a83a25b0a41","parent_id":"806689d33dbab1dc","duration":25.439,"timestamp":1646055562292021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/top","full":"http://opbeans-go:3000/api/products/top"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-fcfa8650acb5081a0dd04a83a25b0a41-806689d33dbab1dc-01","traceparent":"00-fcfa8650acb5081a0dd04a83a25b0a41-806689d33dbab1dc-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:39:22 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"ce29e145fcc93d09","trace_id":"261e64bbb3838a6126feb766932673da","parent_id":"62e9c0b59b971e7e","duration":158.504,"timestamp":1646055562398025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/stats","full":"http://opbeans-go:3000/api/stats"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-261e64bbb3838a6126feb766932673da-62e9c0b59b971e7e-01","traceparent":"00-261e64bbb3838a6126feb766932673da-62e9c0b59b971e7e-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:22 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"0236b733ee48f1d5","transaction_id":"ce29e145fcc93d09","parent_id":"ce29e145fcc93d09","trace_id":"261e64bbb3838a6126feb766932673da","subtype":"http","action":"GET","timestamp":1646055562404027,"duration":143.818,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"0306e14fc5ec5367","trace_id":"ed0e3c4e98e155548b18445df38f2981","parent_id":"25a309e683d52b25","duration":96.49,"timestamp":1646055562580024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products","full":"http://opbeans-go:3000/api/products"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-ed0e3c4e98e155548b18445df38f2981-25a309e683d52b25-01","traceparent":"00-ed0e3c4e98e155548b18445df38f2981-25a309e683d52b25-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","cache-control":"max-age=0, private, must-revalidate","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:22 GMT","etag":"W/\"e7a2362bf423f315691b319c14409fa6\"","referrer-policy":"strict-origin-when-cross-origin","x-content-type-options":"nosniff","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-request-id":"abea434a-4148-4bd5-826b-9ade103f063c","x-runtime":"0.049112","x-xss-protection":"1; mode=block","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"ca3da16aa1178e92","transaction_id":"0306e14fc5ec5367","parent_id":"0306e14fc5ec5367","trace_id":"ed0e3c4e98e155548b18445df38f2981","subtype":"http","action":"GET","timestamp":1646055562595075,"duration":74.158,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"94c7d3627733f119","transaction_id":"b27e1f9f2956184b","parent_id":"b27e1f9f2956184b","trace_id":"35e2bc0e77e2e37e9da49045ce784e3a","subtype":"redis","action":null,"timestamp":1646055562740707,"duration":5.124,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"cce330b3a8ddaf14","transaction_id":"b27e1f9f2956184b","parent_id":"b27e1f9f2956184b","trace_id":"35e2bc0e77e2e37e9da49045ce784e3a","subtype":"postgresql","action":"query","timestamp":1646055562747912,"duration":2.945,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"b27e1f9f2956184b","trace_id":"35e2bc0e77e2e37e9da49045ce784e3a","duration":32.953,"timestamp":1646055562722022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:39:22 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /throw-error","type":"request","result":"HTTP 5xx","id":"c0c634a706d00404","trace_id":"3a7cc600a22f762f1eb33c9b73d40038","duration":32.136,"timestamp":1646055563222038,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/throw-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/throw-error","full":"http://opbeans-node:3000/throw-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-security-policy":"default-src 'none'","x-content-type-options":"nosniff","content-type":"text/html; charset=utf-8","content-length":"148","date":"Mon, 28 Feb 2022 13:39:23 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"07cf763f97d9aaae","transaction_id":"4174871e17e701c9","parent_id":"4174871e17e701c9","trace_id":"bd8ec389c86631fbe288185dff591e63","subtype":"postgresql","action":"query","timestamp":1646055563380428,"duration":4.915,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"4174871e17e701c9","trace_id":"bd8ec389c86631fbe288185dff591e63","parent_id":"cbce83d6003f9d88","duration":25.611,"timestamp":1646055563369045,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/6/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/6/customers","full":"http://opbeans-go:3000/api/products/6/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-bd8ec389c86631fbe288185dff591e63-cbce83d6003f9d88-01","traceparent":"00-bd8ec389c86631fbe288185dff591e63-cbce83d6003f9d88-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:39:23 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"d58b8b473239200e","transaction_id":"d1c04a4fd5729312","parent_id":"d1c04a4fd5729312","trace_id":"4ce7798d7dcc100fef365ebb30e3b7bc","subtype":"postgresql","action":"query","timestamp":1646055563756487,"duration":4.401,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"d1c04a4fd5729312","trace_id":"4ce7798d7dcc100fef365ebb30e3b7bc","duration":25.685,"timestamp":1646055563740026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/438","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/438","full":"http://opbeans-node:3000/api/orders/438"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:39:23 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"35f529d42b64cdef","transaction_id":"b32c66d664d3d017","parent_id":"b32c66d664d3d017","trace_id":"c752927b26a406415134a028f806c4a3","subtype":"redis","action":null,"timestamp":1646055563871822,"duration":9.516,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"b32c66d664d3d017","trace_id":"c752927b26a406415134a028f806c4a3","parent_id":"2de967892cf11232","duration":63.224,"timestamp":1646055563857088,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types","full":"http://opbeans-go:3000/api/types"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-c752927b26a406415134a028f806c4a3-2de967892cf11232-01","traceparent":"00-c752927b26a406415134a028f806c4a3-2de967892cf11232-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:39:23 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"2f59a29985405bdc","transaction_id":"b32c66d664d3d017","parent_id":"b32c66d664d3d017","trace_id":"c752927b26a406415134a028f806c4a3","subtype":"postgresql","action":"query","timestamp":1646055563884959,"duration":16.648,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"6fbae67e20c850c8","trace_id":"28ca90171900eeb3260f1dc85c1e8677","parent_id":"7e3cc8e223ac09ad","duration":137.77,"timestamp":1646055563986038,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/6/customers?limit=70","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/6/customers","search":"?limit=70","full":"http://opbeans-go:3000/api/products/6/customers?limit=70"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-28ca90171900eeb3260f1dc85c1e8677-7e3cc8e223ac09ad-01","traceparent":"00-28ca90171900eeb3260f1dc85c1e8677-7e3cc8e223ac09ad-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"19c84915-1828-4c67-ade6-6f4a731708c9","x-runtime":"0.058075","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:24 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"34720eba4cc79706","transaction_id":"6fbae67e20c850c8","parent_id":"6fbae67e20c850c8","trace_id":"28ca90171900eeb3260f1dc85c1e8677","subtype":"http","action":"GET","timestamp":1646055564011623,"duration":104.815,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/6/customers?limit=70"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"af5ea40ddeb35389","trace_id":"1ae1fdb16e807d75679ffde0daf070f5","duration":171.549,"timestamp":1646055564287030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/154","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/154","full":"http://opbeans-node:3000/api/customers/154"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:24 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"202","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"fe9602b3b5b9789e","transaction_id":"af5ea40ddeb35389","parent_id":"af5ea40ddeb35389","trace_id":"1ae1fdb16e807d75679ffde0daf070f5","subtype":"http","action":"GET","timestamp":1646055564304170,"duration":120.12,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers/154"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"08d8f61bd47d17a6","transaction_id":"ebc6cf73b3acee49","parent_id":"ebc6cf73b3acee49","trace_id":"fba1efce5c3c1b6a8c7af5d2b88463b9","subtype":"redis","action":null,"timestamp":1646055564514112,"duration":9.379,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"55d947f0cf24d509","transaction_id":"ebc6cf73b3acee49","parent_id":"ebc6cf73b3acee49","trace_id":"fba1efce5c3c1b6a8c7af5d2b88463b9","subtype":"postgresql","action":"query","timestamp":1646055564527321,"duration":38.173,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"ebc6cf73b3acee49","trace_id":"fba1efce5c3c1b6a8c7af5d2b88463b9","parent_id":"20ffa32d66e6d476","duration":110.171,"timestamp":1646055564503020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-fba1efce5c3c1b6a8c7af5d2b88463b9-20ffa32d66e6d476-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-fba1efce5c3c1b6a8c7af5d2b88463b9-20ffa32d66e6d476-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:39:24 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"9b4f650a9e382ea9","trace_id":"289168f5db239e21864c07480d33788c","parent_id":"b75f0577509c0d9d","duration":24.97,"timestamp":1646055564723040,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:24 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"1b167f24e461cdbb","trace_id":"5edd6ecea06211b443ed37ac36a8879f","parent_id":"7f1400f9cd498535","duration":89.887,"timestamp":1646055564790033,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/1","full":"http://opbeans-node:3000/api/types/1"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-5edd6ecea06211b443ed37ac36a8879f-7f1400f9cd498535-01","elastic-apm-traceparent":"00-5edd6ecea06211b443ed37ac36a8879f-7f1400f9cd498535-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:24 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"51d47c94afadd7c2","transaction_id":"1b167f24e461cdbb","parent_id":"1b167f24e461cdbb","trace_id":"5edd6ecea06211b443ed37ac36a8879f","subtype":"http","action":"GET","timestamp":1646055564795912,"duration":79.712,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types/1"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"c66fa6a2f219f603","trace_id":"5edd6ecea06211b443ed37ac36a8879f","parent_id":"e513b79256911050","duration":227.931,"timestamp":1646055564671029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/1","full":"http://opbeans-go:3000/api/types/1"},"headers":{"host":"opbeans-go:3000","elastic-apm-traceparent":"00-5edd6ecea06211b443ed37ac36a8879f-e513b79256911050-01","traceparent":"00-5edd6ecea06211b443ed37ac36a8879f-e513b79256911050-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.10","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:24 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"233","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"ba532f56bb11c4c9","transaction_id":"c66fa6a2f219f603","parent_id":"c66fa6a2f219f603","trace_id":"5edd6ecea06211b443ed37ac36a8879f","subtype":"http","action":"GET","timestamp":1646055564681368,"duration":212.747,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types/1"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"3b535aede4ab0d85","trace_id":"5edd6ecea06211b443ed37ac36a8879f","parent_id":"d54c6782bccb8a42","duration":273.896,"timestamp":1646055564642041,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/1","full":"http://opbeans-go:3000/api/types/1"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-5edd6ecea06211b443ed37ac36a8879f-d54c6782bccb8a42-01","traceparent":"00-5edd6ecea06211b443ed37ac36a8879f-d54c6782bccb8a42-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"233","content-type":"application/json","date":"Mon, 28 Feb 2022 13:39:24 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"780a218a6fb146ed","transaction_id":"3b535aede4ab0d85","parent_id":"3b535aede4ab0d85","trace_id":"5edd6ecea06211b443ed37ac36a8879f","subtype":"http","action":"GET","timestamp":1646055564653131,"duration":259.293,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types/1"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"75b74ce96193c648","transaction_id":"ade1c58a46575d55","parent_id":"ade1c58a46575d55","trace_id":"11339582d4cd787399d89c2137765c1e","subtype":"postgresql","action":"query","timestamp":1646055564975969,"duration":5.61,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"ade1c58a46575d55","trace_id":"11339582d4cd787399d89c2137765c1e","parent_id":"5d35652689a3e2d4","duration":39.241,"timestamp":1646055564957020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2/customers?limit=70","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/2/customers","search":"?limit=70","full":"http://opbeans-go:3000/api/products/2/customers?limit=70"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-11339582d4cd787399d89c2137765c1e-5d35652689a3e2d4-01","traceparent":"00-11339582d4cd787399d89c2137765c1e-5d35652689a3e2d4-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14, 172.23.0.9, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"4827","etag":"W/\"12db-CVjfNlJXPDdUOB1pLPihBDfjg34\"","date":"Mon, 28 Feb 2022 13:39:24 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"bf37e641f43936a8","transaction_id":"3a4de9bb4ab082a7","parent_id":"3a4de9bb4ab082a7","trace_id":"7145ee82208513d0c73d3fbe4d5f33af","subtype":"postgresql","action":"query","timestamp":1646055565133192,"duration":53.23,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"05c1337e261d55bb","transaction_id":"3a4de9bb4ab082a7","parent_id":"3a4de9bb4ab082a7","trace_id":"7145ee82208513d0c73d3fbe4d5f33af","subtype":"postgresql","action":"query","timestamp":1646055565147306,"duration":58.496,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"b764e107ac81f4eb","transaction_id":"3a4de9bb4ab082a7","parent_id":"3a4de9bb4ab082a7","trace_id":"7145ee82208513d0c73d3fbe4d5f33af","subtype":"postgresql","action":"query","timestamp":1646055565162834,"duration":123.64,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"ef4e80b1abb5fb85","transaction_id":"3a4de9bb4ab082a7","parent_id":"3a4de9bb4ab082a7","trace_id":"7145ee82208513d0c73d3fbe4d5f33af","subtype":"postgresql","action":"query","timestamp":1646055565361987,"duration":18.849,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"3a4de9bb4ab082a7","trace_id":"7145ee82208513d0c73d3fbe4d5f33af","parent_id":"beb4ae303d9cd9b4","duration":318.797,"timestamp":1646055565115030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/stats","full":"http://opbeans-go:3000/api/stats"},"headers":{"host":"opbeans-go:3000","user-agent":"python-requests/2.27.1","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-7145ee82208513d0c73d3fbe4d5f33af-beb4ae303d9cd9b4-01","traceparent":"00-7145ee82208513d0c73d3fbe4d5f33af-beb4ae303d9cd9b4-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.11, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:39:25 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f8a3f8f5deeb118f","transaction_id":"3a4de9bb4ab082a7","parent_id":"3a4de9bb4ab082a7","trace_id":"7145ee82208513d0c73d3fbe4d5f33af","subtype":"postgresql","action":"query","timestamp":1646055565391051,"duration":18.806,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"c68b2f5f3b5df0d7","transaction_id":"3a4de9bb4ab082a7","parent_id":"3a4de9bb4ab082a7","trace_id":"7145ee82208513d0c73d3fbe4d5f33af","subtype":"postgresql","action":"query","timestamp":1646055565395283,"duration":19.577,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"670ebebbc84335d1","transaction_id":"3a4de9bb4ab082a7","parent_id":"3a4de9bb4ab082a7","trace_id":"7145ee82208513d0c73d3fbe4d5f33af","subtype":"postgresql","action":"query","timestamp":1646055565397977,"duration":23.551,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-error","type":"request","result":"HTTP 5xx","id":"c158925aeed0d2fd","trace_id":"cebf333015231d99ca73027d7e5b1361","duration":174.037,"timestamp":1646055565320053,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-error","full":"http://opbeans-node:3000/log-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:39:25 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"6f9800333c7e7223","transaction_id":"21f671ce6613bc35","parent_id":"21f671ce6613bc35","trace_id":"64b259f66e4d6b53117baab17d2cd8e9","subtype":"postgresql","action":"query","timestamp":1646055565821798,"duration":23.368,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"21f671ce6613bc35","trace_id":"64b259f66e4d6b53117baab17d2cd8e9","duration":152.028,"timestamp":1646055565744029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/3","full":"http://opbeans-node:3000/api/types/3"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"189","etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","date":"Mon, 28 Feb 2022 13:39:25 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"36787b048dcbd424","transaction_id":"21f671ce6613bc35","parent_id":"21f671ce6613bc35","trace_id":"64b259f66e4d6b53117baab17d2cd8e9","subtype":"postgresql","action":"query","timestamp":1646055565848567,"duration":33.361,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"cb24ca2f509a3f00","trace_id":"7b9f6bc7a05b051a83a06b9bf3846497","parent_id":"1c714154fe004c1b","duration":47.598,"timestamp":1646055566057034,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:26 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"Send receipt email","type":"custom","id":"ebb1e6fc7e53ae2f","transaction_id":"f6cba91613defb4d","parent_id":"f6cba91613defb4d","trace_id":"392b6d502ed9c9538972916e0eb85242","subtype":null,"action":null,"timestamp":1646055565579856,"duration":661.52,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":33,"function":"processCompletedOrder","library_frame":false,"abs_path":"/app/worker.js","pre_context":[""," apm.startTransaction('Process completed order', 'Worker')"],"context_line":" performSubTasks(['Send receipt email', 'Update inventory'], function () {","post_context":[" apm.endTransaction()"," queue(processCompletedOrder)"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"1a7ac8a03e413563","transaction_id":"2dc3540d5bee3912","parent_id":"2dc3540d5bee3912","trace_id":"247a7af1714b4373456f285c029b7666","subtype":"redis","action":null,"timestamp":1646055566268163,"duration":2.013,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"2dc3540d5bee3912","trace_id":"247a7af1714b4373456f285c029b7666","duration":61.859,"timestamp":1646055566254032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:39:26 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"efd348a14ffe57b3","transaction_id":"2dc3540d5bee3912","parent_id":"2dc3540d5bee3912","trace_id":"247a7af1714b4373456f285c029b7666","subtype":"postgresql","action":"query","timestamp":1646055566278171,"duration":19.776,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"Process completed order","type":"Worker","result":"success","id":"f6cba91613defb4d","trace_id":"392b6d502ed9c9538972916e0eb85242","duration":966.736,"timestamp":1646055565578074,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{}},"span_count":{"started":2},"outcome":"unknown","sample_rate":1}} +{"span":{"name":"Update inventory","type":"custom","id":"56e50aec996a42c7","transaction_id":"f6cba91613defb4d","parent_id":"f6cba91613defb4d","trace_id":"392b6d502ed9c9538972916e0eb85242","subtype":null,"action":null,"timestamp":1646055566264007,"duration":272.638,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":55,"function":"Timeout._onTimeout","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"],"context_line":" performSubTasks(tasks, cb)","post_context":[" }, Math.random() * 20).unref()"," })"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"7eb78b38512662ca","trace_id":"d09a06dd369a56fa84ac634f7d65f247","parent_id":"8323b96df10ef1e1","duration":8230.376,"timestamp":1646055558495019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-d09a06dd369a56fa84ac634f7d65f247-8323b96df10ef1e1-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-d09a06dd369a56fa84ac634f7d65f247-8323b96df10ef1e1-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:26 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"108580","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"5ff8abc03fbb3d29","transaction_id":"7eb78b38512662ca","parent_id":"7eb78b38512662ca","trace_id":"d09a06dd369a56fa84ac634f7d65f247","subtype":"http","action":"GET","timestamp":1646055558500577,"duration":8204.92,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"8410a2b9c11183e6","trace_id":"1f42bebcbcc5da961a290b5fffa38342","parent_id":"485abccdf8759953","duration":31.49,"timestamp":1646055566768024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:26 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"7dc62aaa659c4c90","trace_id":"fdff1346c5a6fce52c1e8c47195289c5","duration":68.925,"timestamp":1646055567280021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:27 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"123","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"18e68dab0e82078c","transaction_id":"7dc62aaa659c4c90","parent_id":"7dc62aaa659c4c90","trace_id":"fdff1346c5a6fce52c1e8c47195289c5","subtype":"http","action":"GET","timestamp":1646055567291892,"duration":50.602,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"4a6c8f461f2882aa","transaction_id":"6ae3ae0a6e0f32dc","parent_id":"6ae3ae0a6e0f32dc","trace_id":"7b86eac90bee50e9675bc073d74f9a6a","subtype":"postgresql","action":"query","timestamp":1646055567718277,"duration":3.312,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"6ae3ae0a6e0f32dc","trace_id":"7b86eac90bee50e9675bc073d74f9a6a","parent_id":"21cda6cacf6c3f12","duration":27.784,"timestamp":1646055567709030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5/customers","full":"http://opbeans-node:3000/api/products/5/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-7b86eac90bee50e9675bc073d74f9a6a-21cda6cacf6c3f12-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-7b86eac90bee50e9675bc073d74f9a6a-21cda6cacf6c3f12-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:39:27 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"46ce20e8058673e2","transaction_id":"36251c70685de569","parent_id":"36251c70685de569","trace_id":"618025503d473e285d62dfdb3de747db","subtype":"postgresql","action":"query","timestamp":1646055567808511,"duration":3.835,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"36251c70685de569","trace_id":"618025503d473e285d62dfdb3de747db","parent_id":"99889742310666bb","duration":15.102,"timestamp":1646055567802030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/2","full":"http://opbeans-go:3000/api/products/2"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-618025503d473e285d62dfdb3de747db-99889742310666bb-01","traceparent":"00-618025503d473e285d62dfdb3de747db-99889742310666bb-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"242","etag":"W/\"f2-TrZrMcMTUtdW6GY8TQq8W/JG3iU\"","date":"Mon, 28 Feb 2022 13:39:27 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"0caf4cf50cc5d3dd","trace_id":"618025503d473e285d62dfdb3de747db","duration":92.962,"timestamp":1646055567756030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2","full":"http://opbeans-node:3000/api/products/2"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:27 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"2a8fd1e06cabd01c","transaction_id":"0caf4cf50cc5d3dd","parent_id":"0caf4cf50cc5d3dd","trace_id":"618025503d473e285d62dfdb3de747db","subtype":"http","action":"GET","timestamp":1646055567769096,"duration":67.57,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/2"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"b3aee380f75651ca","transaction_id":"86cedf7903a44273","parent_id":"86cedf7903a44273","trace_id":"692c8a8ee0b25530cac476410b606e08","subtype":"postgresql","action":"query","timestamp":1646055568278893,"duration":7.481,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"86cedf7903a44273","trace_id":"692c8a8ee0b25530cac476410b606e08","duration":34.569,"timestamp":1646055568272026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/696","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/696","full":"http://opbeans-node:3000/api/customers/696"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"194","etag":"W/\"c2-9dkxSRF2fs/cxlsMnaeS/LKfA74\"","date":"Mon, 28 Feb 2022 13:39:28 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"028be5a06ed66856","trace_id":"4352ee8ea5b093096d0854d9bad7598f","parent_id":"8348063ddef6ef71","duration":193.797,"timestamp":1646055568173032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-4352ee8ea5b093096d0854d9bad7598f-8348063ddef6ef71-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-4352ee8ea5b093096d0854d9bad7598f-8348063ddef6ef71-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:28 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"203686","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"ba843f325196d51a","transaction_id":"028be5a06ed66856","parent_id":"028be5a06ed66856","trace_id":"4352ee8ea5b093096d0854d9bad7598f","subtype":"http","action":"GET","timestamp":1646055568179455,"duration":182.396,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"584a81bda80bbad9","transaction_id":"360f8877966ce0bc","parent_id":"360f8877966ce0bc","trace_id":"0f2c3de4422fca56b959d4ac2eff474a","subtype":"postgresql","action":"query","timestamp":1646055568457878,"duration":5.465,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"360f8877966ce0bc","trace_id":"0f2c3de4422fca56b959d4ac2eff474a","parent_id":"9ae9845681523203","duration":23.332,"timestamp":1646055568448020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/296","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/296","full":"http://opbeans-node:3000/api/orders/296"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-0f2c3de4422fca56b959d4ac2eff474a-9ae9845681523203-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-0f2c3de4422fca56b959d4ac2eff474a-9ae9845681523203-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:39:28 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"7301dbaf9a6a4c0e","trace_id":"3f96372a707424048c98e9dbc8751966","parent_id":"a5b0885a1f8ebb30","duration":33.898,"timestamp":1646055568560025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4/customers","full":"http://opbeans-node:3000/api/products/4/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-3f96372a707424048c98e9dbc8751966-a5b0885a1f8ebb30-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-3f96372a707424048c98e9dbc8751966-a5b0885a1f8ebb30-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:28 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"619410f80fc09fc5","transaction_id":"7301dbaf9a6a4c0e","parent_id":"7301dbaf9a6a4c0e","trace_id":"3f96372a707424048c98e9dbc8751966","subtype":"http","action":"GET","timestamp":1646055568569535,"duration":19.05,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/4/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"8d0dc96b9631a7a3","trace_id":"3f96372a707424048c98e9dbc8751966","parent_id":"14e83a9c905a80f4","duration":78.757,"timestamp":1646055568533019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4/customers","full":"http://opbeans-node:3000/api/products/4/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-3f96372a707424048c98e9dbc8751966-14e83a9c905a80f4-01","elastic-apm-traceparent":"00-3f96372a707424048c98e9dbc8751966-14e83a9c905a80f4-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:28 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"b169f3d3363e50dc","transaction_id":"8d0dc96b9631a7a3","parent_id":"8d0dc96b9631a7a3","trace_id":"3f96372a707424048c98e9dbc8751966","subtype":"http","action":"GET","timestamp":1646055568537118,"duration":69.254,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/4/customers"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"49ea5de0f9556566","trace_id":"b9cde2b79f3b667246439461286cd8b1","parent_id":"55933b8fb8486040","duration":20.956,"timestamp":1646055568744028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:28 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"996717e49ef47a56","transaction_id":"34f767690b93c843","parent_id":"34f767690b93c843","trace_id":"81794f0fc6c174914a38d9dbdad4245b","subtype":"postgresql","action":"query","timestamp":1646055568826527,"duration":2.278,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"bec5cd2811e2d114","transaction_id":"34f767690b93c843","parent_id":"34f767690b93c843","trace_id":"81794f0fc6c174914a38d9dbdad4245b","subtype":"postgresql","action":"query","timestamp":1646055568829977,"duration":9.492,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f1595dd2abf1551f","transaction_id":"34f767690b93c843","parent_id":"34f767690b93c843","trace_id":"81794f0fc6c174914a38d9dbdad4245b","subtype":"postgresql","action":"query","timestamp":1646055568831570,"duration":9.892,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"10118618f2e8bb1d","transaction_id":"34f767690b93c843","parent_id":"34f767690b93c843","trace_id":"81794f0fc6c174914a38d9dbdad4245b","subtype":"postgresql","action":"query","timestamp":1646055568836852,"duration":5.95,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"34f767690b93c843","trace_id":"81794f0fc6c174914a38d9dbdad4245b","parent_id":"4d9e45dce0fcea42","duration":26.903,"timestamp":1646055568821019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-81794f0fc6c174914a38d9dbdad4245b-4d9e45dce0fcea42-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-81794f0fc6c174914a38d9dbdad4245b-4d9e45dce0fcea42-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:39:28 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /is-it-coffee-time","type":"request","result":"HTTP 5xx","id":"8f9029cd188d2df5","trace_id":"14d02c35ed5c0eeb2a82bbd47d1f46df","duration":40.257,"timestamp":1646055569294038,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/is-it-coffee-time","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/is-it-coffee-time","full":"http://opbeans-node:3000/is-it-coffee-time"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-security-policy":"default-src 'none'","x-content-type-options":"nosniff","content-type":"text/html; charset=utf-8","content-length":"148","date":"Mon, 28 Feb 2022 13:39:29 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"4d0274823aee9e95","trace_id":"567481c11b85899d710168df2e1ee89d","parent_id":"54bc55798bd1a0f9","duration":220.134,"timestamp":1646055569188043,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-567481c11b85899d710168df2e1ee89d-54bc55798bd1a0f9-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-567481c11b85899d710168df2e1ee89d-54bc55798bd1a0f9-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:29 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"a66f7f61843ea2aa","transaction_id":"4d0274823aee9e95","parent_id":"4d0274823aee9e95","trace_id":"567481c11b85899d710168df2e1ee89d","subtype":"http","action":"GET","timestamp":1646055569202502,"duration":185.243,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"a633e21a8e22fd41","trace_id":"3b92ba3eccbdab464e919ca80d335c50","duration":111.595,"timestamp":1646055569768086,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5","full":"http://opbeans-node:3000/api/products/5"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"250","etag":"W/\"fa-O2pSp/nl49sefAwhjFNnvOX493Y\"","date":"Mon, 28 Feb 2022 13:39:29 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f6814ce4fa7ab9fc","transaction_id":"a633e21a8e22fd41","parent_id":"a633e21a8e22fd41","trace_id":"3b92ba3eccbdab464e919ca80d335c50","subtype":"postgresql","action":"query","timestamp":1646055569812857,"duration":35.16,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b84f0d22fe1d7643","trace_id":"20c5cf7a03cc4ae392abcd120b35bcdc","parent_id":"1f94b6249f4190e5","duration":51.616,"timestamp":1646055570321021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/1","full":"http://opbeans-node:3000/api/types/1"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-20c5cf7a03cc4ae392abcd120b35bcdc-1f94b6249f4190e5-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-20c5cf7a03cc4ae392abcd120b35bcdc-1f94b6249f4190e5-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"658ac86b5b65e3d6724bd91007f7bcdd\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"f5bba735-8d79-4f44-bf03-937cb8021697","x-runtime":"0.016179","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:30 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"1238c086c119b40c","transaction_id":"b84f0d22fe1d7643","parent_id":"b84f0d22fe1d7643","trace_id":"20c5cf7a03cc4ae392abcd120b35bcdc","subtype":"http","action":"GET","timestamp":1646055570326258,"duration":42.12,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types/1"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"7caf42db9a597d5c","trace_id":"460b610e102c562cdbb36702449b7fd5","duration":231.625,"timestamp":1646055570240027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:30 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"63aa0e9095853a8b","transaction_id":"7caf42db9a597d5c","parent_id":"7caf42db9a597d5c","trace_id":"460b610e102c562cdbb36702449b7fd5","subtype":"http","action":"GET","timestamp":1646055570244693,"duration":222.837,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"b0332d7d2d87a684","transaction_id":"8587d79392fa7d6b","parent_id":"8587d79392fa7d6b","trace_id":"e1c6148f5281e6ce2f0e8324bce12070","subtype":"redis","action":null,"timestamp":1646055570744519,"duration":4.281,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"8587d79392fa7d6b","trace_id":"e1c6148f5281e6ce2f0e8324bce12070","duration":116.285,"timestamp":1646055570738026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:39:30 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"7fe4eb66c9b86019","transaction_id":"8587d79392fa7d6b","parent_id":"8587d79392fa7d6b","trace_id":"e1c6148f5281e6ce2f0e8324bce12070","subtype":"postgresql","action":"query","timestamp":1646055570750257,"duration":77.09,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-message","type":"request","result":"HTTP 5xx","id":"e79edb4c22188277","trace_id":"a14a008351b7e94a01e67668f85baa63","duration":80.92,"timestamp":1646055571255028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-message","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-message","full":"http://opbeans-node:3000/log-message"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:39:31 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /throw-error","type":"request","result":"HTTP 5xx","id":"22e0f68c4254d8b8","trace_id":"51d418fdfb52561e53ee1a97069e17b2","duration":57.839,"timestamp":1646055571756060,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/throw-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/throw-error","full":"http://opbeans-node:3000/throw-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-security-policy":"default-src 'none'","x-content-type-options":"nosniff","content-type":"text/html; charset=utf-8","content-length":"148","date":"Mon, 28 Feb 2022 13:39:31 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"1597826cc34959b3","trace_id":"c3bbcc0372d36d792b243c0a3287ea91","parent_id":"87caba5acf7d2287","duration":24.4,"timestamp":1646055572248035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:32 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"07417fde43c3fe2b","trace_id":"1c0f9017c2d8325b0bdf389fe04b6df3","parent_id":"5ebeebd6f9885acc","duration":30.979,"timestamp":1646055572694028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/883","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/883","full":"http://opbeans-go:3000/api/customers/883"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-1c0f9017c2d8325b0bdf389fe04b6df3-5ebeebd6f9885acc-01","traceparent":"00-1c0f9017c2d8325b0bdf389fe04b6df3-5ebeebd6f9885acc-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"191","etag":"W/\"bf-MFOSJAELsSHHZMnvJ3qn7RY19ow\"","date":"Mon, 28 Feb 2022 13:39:32 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"a15b4ed961afa9db","transaction_id":"07417fde43c3fe2b","parent_id":"07417fde43c3fe2b","trace_id":"1c0f9017c2d8325b0bdf389fe04b6df3","subtype":"postgresql","action":"query","timestamp":1646055572703101,"duration":11.706,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"e67a89e474e784dc","transaction_id":"49abd37d64a1843d","parent_id":"49abd37d64a1843d","trace_id":"d973a29d5111a45bae3a1362352cbb7a","subtype":"postgresql","action":"query","timestamp":1646055572896635,"duration":44.83,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"49abd37d64a1843d","trace_id":"d973a29d5111a45bae3a1362352cbb7a","parent_id":"4326fb2673b5ef55","duration":119.543,"timestamp":1646055572878033,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/3","full":"http://opbeans-go:3000/api/types/3"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-d973a29d5111a45bae3a1362352cbb7a-4326fb2673b5ef55-01","traceparent":"00-d973a29d5111a45bae3a1362352cbb7a-4326fb2673b5ef55-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"189","etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","date":"Mon, 28 Feb 2022 13:39:32 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"94afdfd5588efc31","transaction_id":"49abd37d64a1843d","parent_id":"49abd37d64a1843d","trace_id":"d973a29d5111a45bae3a1362352cbb7a","subtype":"postgresql","action":"query","timestamp":1646055572957036,"duration":18.328,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"3f641533126a7452","transaction_id":"6d66d6808c929ab5","parent_id":"6d66d6808c929ab5","trace_id":"371f1b82af962cf8b6b0cf4c6bcf68a3","subtype":"postgresql","action":"query","timestamp":1646055572857553,"duration":30.562,"context":{"db":{"statement":"SELECT id FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":307,"function":"PendingItem.callback","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" })",""],"context_line":" client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())","post_context":[" req.body.lines.forEach(function (line) {"," client.query('SELECT id FROM products WHERE id=$1', [line.id], next())"]},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"9c45f22f59e46c82","transaction_id":"6d66d6808c929ab5","parent_id":"6d66d6808c929ab5","trace_id":"371f1b82af962cf8b6b0cf4c6bcf68a3","subtype":"postgresql","action":"query","timestamp":1646055572863066,"duration":37.78,"context":{"db":{"statement":"SELECT id FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":309,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"," req.body.lines.forEach(function (line) {"],"context_line":" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":308,"function":"PendingItem.callback","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[""," client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())"," })"]},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"dacbe871d7978928","transaction_id":"6d66d6808c929ab5","parent_id":"6d66d6808c929ab5","trace_id":"371f1b82af962cf8b6b0cf4c6bcf68a3","subtype":"postgresql","action":"query","timestamp":1646055572868839,"duration":41.446,"context":{"db":{"statement":"SELECT id FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":309,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"," req.body.lines.forEach(function (line) {"],"context_line":" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":308,"function":"PendingItem.callback","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[""," client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())"," })"]},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"232aec3bf8d48981","transaction_id":"6d66d6808c929ab5","parent_id":"6d66d6808c929ab5","trace_id":"371f1b82af962cf8b6b0cf4c6bcf68a3","subtype":"postgresql","action":"query","timestamp":1646055572870548,"duration":95.674,"context":{"db":{"statement":"SELECT id FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":309,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"," req.body.lines.forEach(function (line) {"],"context_line":" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":308,"function":"PendingItem.callback","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[""," client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())"," })"]},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"eb3ce3cd96add5d4","transaction_id":"6d66d6808c929ab5","parent_id":"6d66d6808c929ab5","trace_id":"371f1b82af962cf8b6b0cf4c6bcf68a3","subtype":"postgresql","action":"query","timestamp":1646055572872863,"duration":186.285,"context":{"db":{"statement":"SELECT id FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":309,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"," req.body.lines.forEach(function (line) {"],"context_line":" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":308,"function":"PendingItem.callback","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[""," client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())"," })"]},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"06ef2efffddad35a","transaction_id":"6d66d6808c929ab5","parent_id":"6d66d6808c929ab5","trace_id":"371f1b82af962cf8b6b0cf4c6bcf68a3","subtype":"postgresql","action":"query","timestamp":1646055572874368,"duration":189.679,"context":{"db":{"statement":"SELECT id FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":309,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"," req.body.lines.forEach(function (line) {"],"context_line":" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":308,"function":"PendingItem.callback","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[""," client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())"],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())"," })"]},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"ee4ede8179b5f55a","trace_id":"ad001e55d8ea1d30c9ffb1a8d432ee1b","parent_id":"9adaf82f4eb24946","duration":73.081,"timestamp":1646055573070019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types","full":"http://opbeans-go:3000/api/types"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-ad001e55d8ea1d30c9ffb1a8d432ee1b-9adaf82f4eb24946-01","traceparent":"00-ad001e55d8ea1d30c9ffb1a8d432ee1b-9adaf82f4eb24946-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:33 GMT","content-length":"112","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"ba33999ade6db628","transaction_id":"ee4ede8179b5f55a","parent_id":"ee4ede8179b5f55a","trace_id":"ad001e55d8ea1d30c9ffb1a8d432ee1b","subtype":"http","action":"GET","timestamp":1646055573083048,"duration":55.063,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"BEGIN","type":"db","id":"9b8e6594f6ec1df5","transaction_id":"6d66d6808c929ab5","parent_id":"6d66d6808c929ab5","trace_id":"371f1b82af962cf8b6b0cf4c6bcf68a3","subtype":"postgresql","action":"query","timestamp":1646055573067072,"duration":28.873,"context":{"db":{"statement":"BEGIN","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":264,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" }",""],"context_line":" client.query('BEGIN', function (err) {","post_context":[" if (err) return rollback(err)",""]},{"filename":"node_modules/after-all-results/index.js","lineno":20,"function":"","library_frame":true,"abs_path":"/app/node_modules/after-all-results/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"INSERT INTO orders","type":"db","id":"360161a9b96fbba3","transaction_id":"6d66d6808c929ab5","parent_id":"6d66d6808c929ab5","trace_id":"371f1b82af962cf8b6b0cf4c6bcf68a3","subtype":"postgresql","action":"query","timestamp":1646055573100956,"duration":10.447,"context":{"db":{"statement":"INSERT INTO orders (customer_id) VALUES ($1) RETURNING id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":269,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" const sql = 'INSERT INTO orders (customer_id) VALUES ($1) RETURNING id'",""],"context_line":" client.query(sql, [req.body.customer_id], function (err, result) {","post_context":[" if (err) return rollback(err)",""]},{"filename":"node_modules/pg/lib/query.js","lineno":138,"function":"handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/query.js"},{"filename":"node_modules/pg/lib/client.js","lineno":290,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"INSERT INTO order_lines","type":"db","id":"45b9f4a2a8dafdd9","transaction_id":"6d66d6808c929ab5","parent_id":"6d66d6808c929ab5","trace_id":"371f1b82af962cf8b6b0cf4c6bcf68a3","subtype":"postgresql","action":"query","timestamp":1646055573116429,"duration":11.859,"context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES ($1, $2, $3)","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":292,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"],"context_line":" client.query(sql, [id, line.id, line.amount], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":289,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" })",""],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"]},{"filename":"node_modules/pg/lib/query.js","lineno":138,"function":"handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/query.js"},{"filename":"node_modules/pg/lib/client.js","lineno":290,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"INSERT INTO order_lines","type":"db","id":"08f05df3764b4dfa","transaction_id":"6d66d6808c929ab5","parent_id":"6d66d6808c929ab5","trace_id":"371f1b82af962cf8b6b0cf4c6bcf68a3","subtype":"postgresql","action":"query","timestamp":1646055573118677,"duration":36.651,"context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES ($1, $2, $3)","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":292,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"],"context_line":" client.query(sql, [id, line.id, line.amount], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":289,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" })",""],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"]},{"filename":"node_modules/pg/lib/query.js","lineno":138,"function":"handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/query.js"},{"filename":"node_modules/pg/lib/client.js","lineno":290,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"INSERT INTO order_lines","type":"db","id":"4afe0494c635e78c","transaction_id":"6d66d6808c929ab5","parent_id":"6d66d6808c929ab5","trace_id":"371f1b82af962cf8b6b0cf4c6bcf68a3","subtype":"postgresql","action":"query","timestamp":1646055573120137,"duration":41.644,"context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES ($1, $2, $3)","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":292,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"],"context_line":" client.query(sql, [id, line.id, line.amount], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":289,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" })",""],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"]},{"filename":"node_modules/pg/lib/query.js","lineno":138,"function":"handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/query.js"},{"filename":"node_modules/pg/lib/client.js","lineno":290,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"INSERT INTO order_lines","type":"db","id":"6b8d58a3badfcf93","transaction_id":"6d66d6808c929ab5","parent_id":"6d66d6808c929ab5","trace_id":"371f1b82af962cf8b6b0cf4c6bcf68a3","subtype":"postgresql","action":"query","timestamp":1646055573121547,"duration":53.519,"context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES ($1, $2, $3)","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":292,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"],"context_line":" client.query(sql, [id, line.id, line.amount], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":289,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" })",""],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"]},{"filename":"node_modules/pg/lib/query.js","lineno":138,"function":"handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/query.js"},{"filename":"node_modules/pg/lib/client.js","lineno":290,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"INSERT INTO order_lines","type":"db","id":"6ed64c90a307cf31","transaction_id":"6d66d6808c929ab5","parent_id":"6d66d6808c929ab5","trace_id":"371f1b82af962cf8b6b0cf4c6bcf68a3","subtype":"postgresql","action":"query","timestamp":1646055573123231,"duration":64.26,"context":{"db":{"statement":"INSERT INTO order_lines (order_id, product_id, amount) VALUES ($1, $2, $3)","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"server/routes.js","lineno":292,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"],"context_line":" client.query(sql, [id, line.id, line.amount], next())","post_context":[" })"," })"]},{"filename":"","lineno":0,"function":"forEach","library_frame":true},{"filename":"server/routes.js","lineno":289,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":[" })",""],"context_line":" req.body.lines.forEach(function (line) {","post_context":[" const sql = 'INSERT INTO order_lines (order_id, product_id, amount) ' +"," 'VALUES ($1, $2, $3)'"]},{"filename":"node_modules/pg/lib/query.js","lineno":138,"function":"handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/query.js"},{"filename":"node_modules/pg/lib/client.js","lineno":290,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"3caadc93051f1598","trace_id":"f8dbb36e94a3736853d8c09f57044ce8","duration":26.072,"timestamp":1646055573249041,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:39:33 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"52c79b65847a8126","trace_id":"075465e01f583e919dba528a681ade22","parent_id":"63991a21daf1a9a6","duration":172.33,"timestamp":1646055573166018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-075465e01f583e919dba528a681ade22-63991a21daf1a9a6-01","elastic-apm-traceparent":"00-075465e01f583e919dba528a681ade22-63991a21daf1a9a6-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:33 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"1307","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"21da4cd7e60549d3","transaction_id":"52c79b65847a8126","parent_id":"52c79b65847a8126","trace_id":"075465e01f583e919dba528a681ade22","subtype":"http","action":"GET","timestamp":1646055573172183,"duration":161.885,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"3d296d2aeb3f0a99","transaction_id":"20de38ad1f2b6f91","parent_id":"20de38ad1f2b6f91","trace_id":"1675d88bb0dfe287d9b0586e354ac1da","subtype":"redis","action":null,"timestamp":1646055573429800,"duration":2.126,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"a84d40519cd5889d","transaction_id":"20de38ad1f2b6f91","parent_id":"20de38ad1f2b6f91","trace_id":"1675d88bb0dfe287d9b0586e354ac1da","subtype":"postgresql","action":"query","timestamp":1646055573433905,"duration":26.626,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"20de38ad1f2b6f91","trace_id":"1675d88bb0dfe287d9b0586e354ac1da","parent_id":"06b9e8ecbf0640bb","duration":60.765,"timestamp":1646055573422024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-1675d88bb0dfe287d9b0586e354ac1da-06b9e8ecbf0640bb-01","elastic-apm-traceparent":"00-1675d88bb0dfe287d9b0586e354ac1da-06b9e8ecbf0640bb-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:39:33 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"96d6428f3804c42d","transaction_id":"7443063cf65059f2","parent_id":"7443063cf65059f2","trace_id":"36bbd9cff59142596bffb7bb49320c5b","subtype":"redis","action":null,"timestamp":1646055573549377,"duration":1.951,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"9f6f11c077148953","transaction_id":"7443063cf65059f2","parent_id":"7443063cf65059f2","trace_id":"36bbd9cff59142596bffb7bb49320c5b","subtype":"postgresql","action":"query","timestamp":1646055573552852,"duration":3.068,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"7443063cf65059f2","trace_id":"36bbd9cff59142596bffb7bb49320c5b","parent_id":"b3b9a3cda62d1dad","duration":14.352,"timestamp":1646055573545019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-36bbd9cff59142596bffb7bb49320c5b-b3b9a3cda62d1dad-01","elastic-apm-traceparent":"00-36bbd9cff59142596bffb7bb49320c5b-b3b9a3cda62d1dad-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:39:33 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"025a6fc5f948c508","trace_id":"9d65baad52233bd52212b4a3931b1702","duration":25.173,"timestamp":1646055573746051,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:39:33 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"c869ad9c4752f299","trace_id":"74d28ed4ea91e0546b581a5124ff949b","parent_id":"40b0fcd4e06e9538","duration":90.734,"timestamp":1646055573713037,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/205","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/205","full":"http://opbeans-go:3000/api/customers/205"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-74d28ed4ea91e0546b581a5124ff949b-40b0fcd4e06e9538-01","traceparent":"00-74d28ed4ea91e0546b581a5124ff949b-40b0fcd4e06e9538-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:33 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"dc8b26a292e1413e","transaction_id":"c869ad9c4752f299","parent_id":"c869ad9c4752f299","trace_id":"74d28ed4ea91e0546b581a5124ff949b","subtype":"http","action":"GET","timestamp":1646055573718251,"duration":81.034,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/customers/205"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"437d21ec396d7701","transaction_id":"ce401db3d98db9df","parent_id":"ce401db3d98db9df","trace_id":"67ca42f04ddd35ee0ff48161c92057c9","subtype":"postgresql","action":"query","timestamp":1646055573828369,"duration":2.415,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"ce401db3d98db9df","trace_id":"67ca42f04ddd35ee0ff48161c92057c9","parent_id":"66199449b66ceb77","duration":9.798,"timestamp":1646055573824022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/3","full":"http://opbeans-go:3000/api/products/3"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-67ca42f04ddd35ee0ff48161c92057c9-66199449b66ceb77-01","traceparent":"00-67ca42f04ddd35ee0ff48161c92057c9-66199449b66ceb77-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"231","etag":"W/\"e7-kkuzj37GZDzXDh0CWqh5Gan0VO4\"","date":"Mon, 28 Feb 2022 13:39:33 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"f2ccd8eb499a449f","transaction_id":"3fecb2010cbfb25e","parent_id":"3fecb2010cbfb25e","trace_id":"bf6afe19a592c328d83196f89113ba6f","subtype":"redis","action":null,"timestamp":1646055573859761,"duration":1.745,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"dc53146c02ebfe36","transaction_id":"3fecb2010cbfb25e","parent_id":"3fecb2010cbfb25e","trace_id":"bf6afe19a592c328d83196f89113ba6f","subtype":"postgresql","action":"query","timestamp":1646055573862796,"duration":2.409,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"3fecb2010cbfb25e","trace_id":"bf6afe19a592c328d83196f89113ba6f","parent_id":"600eed443206fd4e","duration":12.302,"timestamp":1646055573856104,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-bf6afe19a592c328d83196f89113ba6f-600eed443206fd4e-01","elastic-apm-traceparent":"00-bf6afe19a592c328d83196f89113ba6f-600eed443206fd4e-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:39:33 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"3ca7ee98ca87b1bb","transaction_id":"2f12668c37b98808","parent_id":"2f12668c37b98808","trace_id":"4de0195b4bc52372ecc7d58ba9447e5e","subtype":"postgresql","action":"query","timestamp":1646055574149232,"duration":3.014,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"2f12668c37b98808","trace_id":"4de0195b4bc52372ecc7d58ba9447e5e","parent_id":"90d41100ca33cd92","duration":13.036,"timestamp":1646055574144027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/588","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/588","full":"http://opbeans-node:3000/api/customers/588"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-4de0195b4bc52372ecc7d58ba9447e5e-90d41100ca33cd92-01","elastic-apm-traceparent":"00-4de0195b4bc52372ecc7d58ba9447e5e-90d41100ca33cd92-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"184","etag":"W/\"b8-Jb70+WMGOo5/NTfHWaEdKwd6Wqo\"","date":"Mon, 28 Feb 2022 13:39:34 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"8b1acd58af52f470","transaction_id":"eb05c1724d31c92a","parent_id":"eb05c1724d31c92a","trace_id":"2ef29069f552c1cd3b50be3ab5ddcf23","subtype":"postgresql","action":"query","timestamp":1646055574207663,"duration":2.987,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"e26602e42829fd93","transaction_id":"eb05c1724d31c92a","parent_id":"eb05c1724d31c92a","trace_id":"2ef29069f552c1cd3b50be3ab5ddcf23","subtype":"postgresql","action":"query","timestamp":1646055574219833,"duration":8.613,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"eb05c1724d31c92a","trace_id":"2ef29069f552c1cd3b50be3ab5ddcf23","parent_id":"d89ce436fcd3d011","duration":29.551,"timestamp":1646055574202021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-2ef29069f552c1cd3b50be3ab5ddcf23-d89ce436fcd3d011-01","elastic-apm-traceparent":"00-2ef29069f552c1cd3b50be3ab5ddcf23-d89ce436fcd3d011-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:39:34 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"8c07f9d28116f6b7","transaction_id":"eb05c1724d31c92a","parent_id":"eb05c1724d31c92a","trace_id":"2ef29069f552c1cd3b50be3ab5ddcf23","subtype":"postgresql","action":"query","timestamp":1646055574212620,"duration":10.217,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"d1e29ea7bc5d8726","transaction_id":"eb05c1724d31c92a","parent_id":"eb05c1724d31c92a","trace_id":"2ef29069f552c1cd3b50be3ab5ddcf23","subtype":"postgresql","action":"query","timestamp":1646055574214712,"duration":11.032,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"fd11e4d02dbad2f9","transaction_id":"aef6d096a9379776","parent_id":"aef6d096a9379776","trace_id":"e0e3c6edf4701134a8de7d7386bbb615","subtype":"postgresql","action":"query","timestamp":1646055574250000,"duration":10.286,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"1857e6b22cd9aebf","transaction_id":"aef6d096a9379776","parent_id":"aef6d096a9379776","trace_id":"e0e3c6edf4701134a8de7d7386bbb615","subtype":"postgresql","action":"query","timestamp":1646055574251818,"duration":11.287,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"28631bf130be11b6","transaction_id":"aef6d096a9379776","parent_id":"aef6d096a9379776","trace_id":"e0e3c6edf4701134a8de7d7386bbb615","subtype":"postgresql","action":"query","timestamp":1646055574253708,"duration":11.986,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"291c2a364cb9ac0f","transaction_id":"aef6d096a9379776","parent_id":"aef6d096a9379776","trace_id":"e0e3c6edf4701134a8de7d7386bbb615","subtype":"postgresql","action":"query","timestamp":1646055574280280,"duration":8.499,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":true,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"aef6d096a9379776","trace_id":"e0e3c6edf4701134a8de7d7386bbb615","duration":82.89,"timestamp":1646055574245020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:39:34 GMT","connection":"close"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"89a991b740a3d27a","transaction_id":"aef6d096a9379776","parent_id":"aef6d096a9379776","trace_id":"e0e3c6edf4701134a8de7d7386bbb615","subtype":"postgresql","action":"query","timestamp":1646055574295637,"duration":14.665,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"cfbf0dd4b9beadde","transaction_id":"aef6d096a9379776","parent_id":"aef6d096a9379776","trace_id":"e0e3c6edf4701134a8de7d7386bbb615","subtype":"postgresql","action":"query","timestamp":1646055574298810,"duration":15.872,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"e4f9848d107ac1d4","transaction_id":"aef6d096a9379776","parent_id":"aef6d096a9379776","trace_id":"e0e3c6edf4701134a8de7d7386bbb615","subtype":"postgresql","action":"query","timestamp":1646055574301540,"duration":17.151,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"Fetch package status for all orders","type":"custom","id":"8c6d685c04dfcc8f","transaction_id":"d46f4819e096d988","parent_id":"d46f4819e096d988","trace_id":"7c9f2e1b75c2cb7d4794a3bf6a57914c","subtype":null,"action":null,"timestamp":1646055573573230,"duration":841.313,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":43,"function":"updateShippingStatus","library_frame":false,"abs_path":"/app/worker.js","pre_context":[""," apm.startTransaction('Update shipping status', 'Worker')"],"context_line":" performSubTasks(['Fetch package status for all orders', 'Send tracking emails'], function () {","post_context":[" apm.endTransaction()"," queue(updateShippingStatus)"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"72a769a8047eb99f","transaction_id":"65e465d3ab47ce76","parent_id":"65e465d3ab47ce76","trace_id":"d60eaefd5ec810d135ca5651078b22cb","subtype":"postgresql","action":"query","timestamp":1646055574759983,"duration":4.447,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"65e465d3ab47ce76","trace_id":"d60eaefd5ec810d135ca5651078b22cb","duration":24.404,"timestamp":1646055574748036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers?count=orders&limit=50","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5/customers","search":"?count=orders&limit=50","full":"http://opbeans-node:3000/api/products/5/customers?count=orders&limit=50"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:39:34 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"f7b12819307abec8","trace_id":"5bbfa5212169624d91f7f551040bb7c2","parent_id":"510420c53b274a79","duration":52.606,"timestamp":1646055574936036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3/customers?limit=80","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/3/customers","search":"?limit=80","full":"http://opbeans-go:3000/api/products/3/customers?limit=80"},"headers":{"host":"opbeans-go:3000","user-agent":"python-requests/2.27.1","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-5bbfa5212169624d91f7f551040bb7c2-510420c53b274a79-01","traceparent":"00-5bbfa5212169624d91f7f551040bb7c2-510420c53b274a79-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.11"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"db5b4db6-0cea-48ce-941b-16522ab620c2","x-runtime":"0.023094","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:34 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"0a30b32dc90286e1","transaction_id":"f7b12819307abec8","parent_id":"f7b12819307abec8","trace_id":"5bbfa5212169624d91f7f551040bb7c2","subtype":"http","action":"GET","timestamp":1646055574941121,"duration":42.204,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/3/customers?limit=80"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"Update shipping status","type":"Worker","result":"success","id":"d46f4819e096d988","trace_id":"7c9f2e1b75c2cb7d4794a3bf6a57914c","duration":1516.468,"timestamp":1646055573571848,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{}},"span_count":{"started":2},"outcome":"unknown","sample_rate":1}} +{"span":{"name":"Send tracking emails","type":"custom","id":"9ac27428a8c7e4cf","transaction_id":"d46f4819e096d988","parent_id":"d46f4819e096d988","trace_id":"7c9f2e1b75c2cb7d4794a3bf6a57914c","subtype":null,"action":null,"timestamp":1646055574433366,"duration":652.693,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":55,"function":"Timeout._onTimeout","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"],"context_line":" performSubTasks(tasks, cb)","post_context":[" }, Math.random() * 20).unref()"," })"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"173b89566103064a","transaction_id":"f6a9515492de0a62","parent_id":"f6a9515492de0a62","trace_id":"be7f0723132ad7840fb9466d4cb2df76","subtype":"postgresql","action":"query","timestamp":1646055575246369,"duration":2.602,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"110b6284881700cc","transaction_id":"f6a9515492de0a62","parent_id":"f6a9515492de0a62","trace_id":"be7f0723132ad7840fb9466d4cb2df76","subtype":"postgresql","action":"query","timestamp":1646055575250393,"duration":6.597,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ffebcfbbd87699c5","transaction_id":"f6a9515492de0a62","parent_id":"f6a9515492de0a62","trace_id":"be7f0723132ad7840fb9466d4cb2df76","subtype":"postgresql","action":"query","timestamp":1646055575252811,"duration":5.471,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"87fd5dde6eb4cf6d","transaction_id":"f6a9515492de0a62","parent_id":"f6a9515492de0a62","trace_id":"be7f0723132ad7840fb9466d4cb2df76","subtype":"postgresql","action":"query","timestamp":1646055575254671,"duration":5.025,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"f6a9515492de0a62","trace_id":"be7f0723132ad7840fb9466d4cb2df76","duration":20.619,"timestamp":1646055575242021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:39:35 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"ad8cc1a45716c7c3","transaction_id":"30fdd0be62593a78","parent_id":"30fdd0be62593a78","trace_id":"e2bfaa2e80f5f9f7c5232bf6aba2d791","subtype":"http","action":"GET","timestamp":1646055575414306,"duration":7.994,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"30fdd0be62593a78","trace_id":"e2bfaa2e80f5f9f7c5232bf6aba2d791","parent_id":"a0a0dc2dc313976f","duration":17.417,"timestamp":1646055575410028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types","full":"http://opbeans-go:3000/api/types"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-e2bfaa2e80f5f9f7c5232bf6aba2d791-a0a0dc2dc313976f-01","traceparent":"00-e2bfaa2e80f5f9f7c5232bf6aba2d791-a0a0dc2dc313976f-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"112","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:35 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"6562e354abe7dcb2","transaction_id":"03799890d794e74d","parent_id":"03799890d794e74d","trace_id":"3580d2942f451a703ca1eb0da8a01b1b","subtype":"postgresql","action":"query","timestamp":1646055575480061,"duration":4.683,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"03799890d794e74d","trace_id":"3580d2942f451a703ca1eb0da8a01b1b","parent_id":"a920184071ea2e5b","duration":16.125,"timestamp":1646055575475021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/1/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/1/customers","full":"http://opbeans-node:3000/api/products/1/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-3580d2942f451a703ca1eb0da8a01b1b-a920184071ea2e5b-01","elastic-apm-traceparent":"00-3580d2942f451a703ca1eb0da8a01b1b-a920184071ea2e5b-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1299","etag":"W/\"513-SatyJ8cM4py92/C0bKaTe9W8iAk\"","date":"Mon, 28 Feb 2022 13:39:35 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-message","type":"request","result":"HTTP 5xx","id":"ecef9bb7d133561c","trace_id":"ae4daa3c679a59473227f25613b70b1f","duration":62.679,"timestamp":1646055575756074,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-message","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-message","full":"http://opbeans-node:3000/log-message"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:39:35 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"7189a0e0d00ed518","trace_id":"6e84069221aa3b35604d7002fba59ddc","parent_id":"bc8af74b99cbdbc1","duration":96.651,"timestamp":1646055575883022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/6/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/6/customers","full":"http://opbeans-node:3000/api/products/6/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-6e84069221aa3b35604d7002fba59ddc-bc8af74b99cbdbc1-01","elastic-apm-traceparent":"00-6e84069221aa3b35604d7002fba59ddc-bc8af74b99cbdbc1-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:35 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"f1bb3f0b05d8d784","transaction_id":"7189a0e0d00ed518","parent_id":"7189a0e0d00ed518","trace_id":"6e84069221aa3b35604d7002fba59ddc","subtype":"http","action":"GET","timestamp":1646055575887584,"duration":85.514,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/6/customers"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"5bcbd4bf7b8ef8b9","trace_id":"48ebaf636e73c30316a495b44effb768","parent_id":"6b8a288f4121c678","duration":15.209,"timestamp":1646055576188030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:36 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"b7034a0195cd1a4d","trace_id":"75cc862c286b4bd1c6eee24ae264eb52","parent_id":"5696cc34dc3281fd","duration":7.414,"timestamp":1646055576254026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:36 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"1126cdbdb2dea793","trace_id":"00dd134dbc54bf1ee5b03d47fdff3642","parent_id":"7ac263b4b18d650a","duration":49.767,"timestamp":1646055576530034,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-00dd134dbc54bf1ee5b03d47fdff3642-7ac263b4b18d650a-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-00dd134dbc54bf1ee5b03d47fdff3642-7ac263b4b18d650a-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:36 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"309","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"8a4ca1ce872c179e","transaction_id":"1126cdbdb2dea793","parent_id":"1126cdbdb2dea793","trace_id":"00dd134dbc54bf1ee5b03d47fdff3642","subtype":"http","action":"GET","timestamp":1646055576534822,"duration":40.968,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"31ade6b4cf3a552d","trace_id":"6b7e89af28c715f9cad02365b7ea088e","parent_id":"076f4fa53a267cf5","duration":56.199,"timestamp":1646055576618023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3","full":"http://opbeans-node:3000/api/products/3"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-6b7e89af28c715f9cad02365b7ea088e-076f4fa53a267cf5-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-6b7e89af28c715f9cad02365b7ea088e-076f4fa53a267cf5-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:36 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"d634312cb9a6e409","transaction_id":"31ade6b4cf3a552d","parent_id":"31ade6b4cf3a552d","trace_id":"6b7e89af28c715f9cad02365b7ea088e","subtype":"http","action":"GET","timestamp":1646055576622116,"duration":48.125,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/3"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"7ef5571213ed1360","trace_id":"de35a540ca480af6889afff88d8dcbc9","parent_id":"9fac329f53191930","duration":31.677,"timestamp":1646055576721028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-de35a540ca480af6889afff88d8dcbc9-9fac329f53191930-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-de35a540ca480af6889afff88d8dcbc9-9fac329f53191930-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:36 GMT","content-length":"403","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"33acd62c8e56bb84","transaction_id":"7ef5571213ed1360","parent_id":"7ef5571213ed1360","trace_id":"de35a540ca480af6889afff88d8dcbc9","subtype":"http","action":"GET","timestamp":1646055576726208,"duration":10.1,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"863752ad4cca7d79","transaction_id":"4233e0b043f0479c","parent_id":"4233e0b043f0479c","trace_id":"7948692ff90dffe6d15aed728c0f914a","subtype":"postgresql","action":"query","timestamp":1646055576828823,"duration":7.614,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"4233e0b043f0479c","trace_id":"7948692ff90dffe6d15aed728c0f914a","parent_id":"f34cdeacc42fae84","duration":34.524,"timestamp":1646055576816047,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/860","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/860","full":"http://opbeans-node:3000/api/customers/860"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-7948692ff90dffe6d15aed728c0f914a-f34cdeacc42fae84-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-7948692ff90dffe6d15aed728c0f914a-f34cdeacc42fae84-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"172","etag":"W/\"ac-c0PsVaXoeypSJWWQCTIl0OCYpME\"","date":"Mon, 28 Feb 2022 13:39:36 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"a979d539f5031624","trace_id":"61df6f1114d2f29dd22fc61fef644c7b","duration":139.728,"timestamp":1646055576779017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"203686","content-type":"application/json","date":"Mon, 28 Feb 2022 13:39:36 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"e56709c03fb01378","transaction_id":"a979d539f5031624","parent_id":"a979d539f5031624","trace_id":"61df6f1114d2f29dd22fc61fef644c7b","subtype":"http","action":"GET","timestamp":1646055576784520,"duration":129.118,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"Validate CC","type":"custom","id":"529c0f33c3aa444e","transaction_id":"e6399e5b124b4dc5","parent_id":"e6399e5b124b4dc5","trace_id":"25fd326b45f0478e4cd5248f5c63f8e1","subtype":null,"action":null,"timestamp":1646055576877201,"duration":70.851,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":23,"function":"processPayment","library_frame":false,"abs_path":"/app/worker.js","pre_context":[""," apm.startTransaction('Process payment', 'Worker')"],"context_line":" performSubTasks(['Validate CC', 'Reserve funds'], function () {","post_context":[" apm.endTransaction()"," queue(processPayment)"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"2a62a7f8d90e4122","transaction_id":"ac5d702f40a5c7f7","parent_id":"ac5d702f40a5c7f7","trace_id":"996aca2879ccc1898ed4de99cf1f4dbe","subtype":"postgresql","action":"query","timestamp":1646055577071541,"duration":8.441,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"2a418b3f46bd108c","transaction_id":"ac5d702f40a5c7f7","parent_id":"ac5d702f40a5c7f7","trace_id":"996aca2879ccc1898ed4de99cf1f4dbe","subtype":"postgresql","action":"query","timestamp":1646055577073327,"duration":8.191,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"155276222483bebd","transaction_id":"ac5d702f40a5c7f7","parent_id":"ac5d702f40a5c7f7","trace_id":"996aca2879ccc1898ed4de99cf1f4dbe","subtype":"postgresql","action":"query","timestamp":1646055577075352,"duration":7.336,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"a3a63aafde1e78a4","transaction_id":"ac5d702f40a5c7f7","parent_id":"ac5d702f40a5c7f7","trace_id":"996aca2879ccc1898ed4de99cf1f4dbe","subtype":"postgresql","action":"query","timestamp":1646055577077142,"duration":6.843,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"467e1df97092e43f","transaction_id":"ac5d702f40a5c7f7","parent_id":"ac5d702f40a5c7f7","trace_id":"996aca2879ccc1898ed4de99cf1f4dbe","subtype":"postgresql","action":"query","timestamp":1646055577088748,"duration":2.655,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f98805531b7aeb03","transaction_id":"ac5d702f40a5c7f7","parent_id":"ac5d702f40a5c7f7","trace_id":"996aca2879ccc1898ed4de99cf1f4dbe","subtype":"postgresql","action":"query","timestamp":1646055577087052,"duration":5.874,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ef987beacaba32bb","transaction_id":"ac5d702f40a5c7f7","parent_id":"ac5d702f40a5c7f7","trace_id":"996aca2879ccc1898ed4de99cf1f4dbe","subtype":"postgresql","action":"query","timestamp":1646055577085129,"duration":9.075,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"ac5d702f40a5c7f7","trace_id":"996aca2879ccc1898ed4de99cf1f4dbe","parent_id":"b9379c7f85055cb5","duration":32.585,"timestamp":1646055577067021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-996aca2879ccc1898ed4de99cf1f4dbe-b9379c7f85055cb5-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-996aca2879ccc1898ed4de99cf1f4dbe-b9379c7f85055cb5-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:39:37 GMT","connection":"close"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"Process payment","type":"Worker","result":"success","id":"e6399e5b124b4dc5","trace_id":"25fd326b45f0478e4cd5248f5c63f8e1","duration":361.242,"timestamp":1646055576876038,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{}},"span_count":{"started":2},"outcome":"unknown","sample_rate":1}} +{"span":{"name":"Reserve funds","type":"custom","id":"1857f40e395cf193","transaction_id":"e6399e5b124b4dc5","parent_id":"e6399e5b124b4dc5","trace_id":"25fd326b45f0478e4cd5248f5c63f8e1","subtype":null,"action":null,"timestamp":1646055576952736,"duration":282.185,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":55,"function":"Timeout._onTimeout","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"],"context_line":" performSubTasks(tasks, cb)","post_context":[" }, Math.random() * 20).unref()"," })"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"OPTIONS unknown route","type":"request","result":"HTTP 2xx","id":"1b7eef5242696280","trace_id":"3a0b11ac6b2c60338edddce6f7779cb4","duration":11.562,"timestamp":1646055577246021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"OPTIONS","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","content-length":"0","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","allow":"GET,HEAD","content-type":"text/html; charset=utf-8","content-length":"8","etag":"W/\"8-ZRAf8oNBS3Bjb/SU2GYZCmbtmXg\"","date":"Mon, 28 Feb 2022 13:39:37 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"25978e42aa414aeb","transaction_id":"b17e826bd270b295","parent_id":"b17e826bd270b295","trace_id":"cbeac26374c9a991848d15ab9b968032","subtype":"postgresql","action":"query","timestamp":1646055577275472,"duration":4.663,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"b17e826bd270b295","trace_id":"cbeac26374c9a991848d15ab9b968032","parent_id":"29bc519a6c58bc9f","duration":19.155,"timestamp":1646055577267087,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3/customers","full":"http://opbeans-node:3000/api/products/3/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-cbeac26374c9a991848d15ab9b968032-29bc519a6c58bc9f-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-cbeac26374c9a991848d15ab9b968032-29bc519a6c58bc9f-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2247","etag":"W/\"8c7-DzU3uvPT9Eu5vDsXxF0AVpUtaII\"","date":"Mon, 28 Feb 2022 13:39:37 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"ed40098318a34836","trace_id":"023d6e81b1b9dae8f2f015ae04d54174","parent_id":"5d75f7169a00d4e3","duration":42.009,"timestamp":1646055577434019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5","full":"http://opbeans-node:3000/api/products/5"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-023d6e81b1b9dae8f2f015ae04d54174-5d75f7169a00d4e3-01","elastic-apm-traceparent":"00-023d6e81b1b9dae8f2f015ae04d54174-5d75f7169a00d4e3-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"3a6fa85a318de2856f3fa7cda08b17a5\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"e1ee890c-80ae-4ddf-8839-c65f8504edf8","x-runtime":"0.016805","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:37 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"2ecb4c945088bffb","transaction_id":"ed40098318a34836","parent_id":"ed40098318a34836","trace_id":"023d6e81b1b9dae8f2f015ae04d54174","subtype":"http","action":"GET","timestamp":1646055577438299,"duration":33.095,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/5"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"6263f88edd60fc89","transaction_id":"dc3670b93ddd8bcb","parent_id":"dc3670b93ddd8bcb","trace_id":"d64b207aeb372c6be6778793422c1d69","subtype":"postgresql","action":"query","timestamp":1646055577755081,"duration":4.491,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"dc3670b93ddd8bcb","trace_id":"d64b207aeb372c6be6778793422c1d69","duration":53.047,"timestamp":1646055577746030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:39:37 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"bfa696f91d102b9f","transaction_id":"dc3670b93ddd8bcb","parent_id":"dc3670b93ddd8bcb","trace_id":"d64b207aeb372c6be6778793422c1d69","subtype":"postgresql","action":"query","timestamp":1646055577762640,"duration":17.275,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"54ecc0d4ec800b43","transaction_id":"dc3670b93ddd8bcb","parent_id":"dc3670b93ddd8bcb","trace_id":"d64b207aeb372c6be6778793422c1d69","subtype":"postgresql","action":"query","timestamp":1646055577768900,"duration":15.217,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"91b370c7c96c2a92","transaction_id":"dc3670b93ddd8bcb","parent_id":"dc3670b93ddd8bcb","trace_id":"d64b207aeb372c6be6778793422c1d69","subtype":"postgresql","action":"query","timestamp":1646055577774122,"duration":12.425,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"ROLLBACK","type":"db","id":"000f49f005810a45","transaction_id":"6d66d6808c929ab5","parent_id":"6d66d6808c929ab5","trace_id":"371f1b82af962cf8b6b0cf4c6bcf68a3","subtype":"postgresql","action":"query","timestamp":1646055578245957,"duration":6.242,"context":{"db":{"statement":"ROLLBACK","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"POST /api/orders","type":"request","result":"HTTP 5xx","id":"6d66d6808c929ab5","trace_id":"371f1b82af962cf8b6b0cf4c6bcf68a3","duration":5505.998,"timestamp":1646055572757023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"POST","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","accept":"application/json","content-type":"application/json","content-length":"129","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"},"body":"[REDACTED]"},"response":{"status_code":500,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:39:38 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":15},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"37287e9a7e37c93d","trace_id":"47b34304c676a777d47a4337e64cd421","duration":78.705,"timestamp":1646055578278022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"e7a2362bf423f315691b319c14409fa6\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"7d3f7106-53e8-4212-97ec-482d6d6ee270","x-runtime":"0.032957","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:38 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"6558846f6a6324c1","transaction_id":"37287e9a7e37c93d","parent_id":"37287e9a7e37c93d","trace_id":"47b34304c676a777d47a4337e64cd421","subtype":"http","action":"GET","timestamp":1646055578288878,"duration":55.356,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"a724b1e5097db8c5","trace_id":"31a3823bbe084db93b06beafffc94988","parent_id":"dcd5cabe64fe6f66","duration":19.02,"timestamp":1646055578745032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:38 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"4e4c60f5ca91f9f9","trace_id":"9c84f424e52d9686ae861293e27b49eb","duration":157.013,"timestamp":1646055579252033,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/166","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/166","full":"http://opbeans-node:3000/api/orders/166"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:39 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"300","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"d4aaa484181e9364","transaction_id":"4e4c60f5ca91f9f9","parent_id":"4e4c60f5ca91f9f9","trace_id":"9c84f424e52d9686ae861293e27b49eb","subtype":"http","action":"GET","timestamp":1646055579262447,"duration":141.922,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/orders/166"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"OPTIONS unknown route","type":"request","result":"HTTP 2xx","id":"aa63f453ca528c07","trace_id":"bfbc36138e0265a537b8e323208a7174","duration":25.304,"timestamp":1646055579745352,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"OPTIONS","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","content-length":"0","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","allow":"GET,HEAD","content-type":"text/html; charset=utf-8","content-length":"8","etag":"W/\"8-ZRAf8oNBS3Bjb/SU2GYZCmbtmXg\"","date":"Mon, 28 Feb 2022 13:39:39 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"efd2544c4fe49fac","transaction_id":"e294cb21fdaa67a6","parent_id":"e294cb21fdaa67a6","trace_id":"8daa4754475bc3dae26d5f352e142628","subtype":"postgresql","action":"query","timestamp":1646055580260335,"duration":5.506,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"e294cb21fdaa67a6","trace_id":"8daa4754475bc3dae26d5f352e142628","duration":17.673,"timestamp":1646055580253030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3","full":"http://opbeans-node:3000/api/products/3"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"231","etag":"W/\"e7-kkuzj37GZDzXDh0CWqh5Gan0VO4\"","date":"Mon, 28 Feb 2022 13:39:40 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"a14c7f9f8a7beb8e","trace_id":"13a82024e7220ffa6ddf6dec1a4710a5","duration":23.159,"timestamp":1646055580750036,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:39:40 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"cf2005db69127eb5","trace_id":"d423a9c705b054d1404edb9b2f68867d","duration":27.891,"timestamp":1646055581252041,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:39:41 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"8ac225198756d4e2","trace_id":"1386bfe0d6f7d68ab40a2ee8445d3a10","parent_id":"42095cc820d0c80f","duration":36.346,"timestamp":1646055581550023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-1386bfe0d6f7d68ab40a2ee8445d3a10-42095cc820d0c80f-01","elastic-apm-traceparent":"00-1386bfe0d6f7d68ab40a2ee8445d3a10-42095cc820d0c80f-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"32a6f2ac22b5ec871f35104a05ba3759\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"95a8e7bb-5af6-47ae-853a-e4d65952a452","x-runtime":"0.012626","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:41 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"20ecc7e3a29eb6e7","transaction_id":"8ac225198756d4e2","parent_id":"8ac225198756d4e2","trace_id":"1386bfe0d6f7d68ab40a2ee8445d3a10","subtype":"http","action":"GET","timestamp":1646055581554383,"duration":27.488,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"0d530e9848c2932b","transaction_id":"2fe922053a0da4bd","parent_id":"2fe922053a0da4bd","trace_id":"2e71a78690a8edfc2f8fe3f5fc880bb7","subtype":"postgresql","action":"query","timestamp":1646055581710608,"duration":39.898,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"2fe922053a0da4bd","trace_id":"2e71a78690a8edfc2f8fe3f5fc880bb7","parent_id":"63e8e16b2c12d999","duration":96.214,"timestamp":1646055581683215,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers","full":"http://opbeans-go:3000/api/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"python-requests/2.27.1","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-2e71a78690a8edfc2f8fe3f5fc880bb7-63e8e16b2c12d999-01","traceparent":"00-2e71a78690a8edfc2f8fe3f5fc880bb7-63e8e16b2c12d999-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.11"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:39:41 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"fae2c3695981a3d3","transaction_id":"2fe922053a0da4bd","parent_id":"2fe922053a0da4bd","trace_id":"2e71a78690a8edfc2f8fe3f5fc880bb7","subtype":"redis","action":null,"timestamp":1646055581689109,"duration":13.289,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"stacktrace":[{"filename":"node_modules/redis/lib/commands.js","lineno":46,"function":"get","library_frame":true,"abs_path":"/app/node_modules/redis/lib/commands.js"},{"filename":"server/routes.js","lineno":168,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":["","app.get('/customers', function (req, res) {"],"context_line":" redis.get('customers', function (err, obj) {","post_context":[" if (err) apm.captureError(err)"," else if (obj) return res.json(obj)"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":137,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":112,"function":"dispatch","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":281,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":88,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":["app.use('/api', function (req, res, next) {"," if (Math.random() > opbeansRedirectProbability) {"],"context_line":" return next()","post_context":[" }",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"abfc48fbcb47f346","trace_id":"7972354d16a82c58bc63966c05183c35","duration":16.533,"timestamp":1646055581787020,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:39:41 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"b7a699b1ef8680f2","transaction_id":"6bd671c0ac55b3e1","parent_id":"6bd671c0ac55b3e1","trace_id":"cb579e67af2e88c6de7f724fc316f263","subtype":"postgresql","action":"query","timestamp":1646055582122801,"duration":3.687,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"6bd671c0ac55b3e1","trace_id":"cb579e67af2e88c6de7f724fc316f263","parent_id":"f2236548f4f7f601","duration":11.943,"timestamp":1646055582118025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/6","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/6","full":"http://opbeans-node:3000/api/products/6"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-cb579e67af2e88c6de7f724fc316f263-f2236548f4f7f601-01","elastic-apm-traceparent":"00-cb579e67af2e88c6de7f724fc316f263-f2236548f4f7f601-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"254","etag":"W/\"fe-vUW963ju559F4nwQXb+Wg4ZAqdk\"","date":"Mon, 28 Feb 2022 13:39:42 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"71e479b1d9e10130","trace_id":"cb1217951c6ef71099a1793a199ab47d","duration":6.751,"timestamp":1646055582247021,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:39:42 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"78a65e98ffed9769","transaction_id":"3b48bc234dce8e60","parent_id":"3b48bc234dce8e60","trace_id":"4d926a32527654a93ee28dce8ea22e32","subtype":"postgresql","action":"query","timestamp":1646055582814828,"duration":3.732,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"3b48bc234dce8e60","trace_id":"4d926a32527654a93ee28dce8ea22e32","parent_id":"9ce9f0a43309b276","duration":13.064,"timestamp":1646055582808025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/90","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/90","full":"http://opbeans-node:3000/api/orders/90"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-4d926a32527654a93ee28dce8ea22e32-9ce9f0a43309b276-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-4d926a32527654a93ee28dce8ea22e32-9ce9f0a43309b276-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:39:42 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"c8b5629d161bfbd6","transaction_id":"d1c1d43ace9a3908","parent_id":"d1c1d43ace9a3908","trace_id":"aefbb2e73166fd16a22521769e4f3de1","subtype":"redis","action":null,"timestamp":1646055582829748,"duration":2.415,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"525def802e34cab9","transaction_id":"d1c1d43ace9a3908","parent_id":"d1c1d43ace9a3908","trace_id":"aefbb2e73166fd16a22521769e4f3de1","subtype":"postgresql","action":"query","timestamp":1646055582833789,"duration":3.544,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"d1c1d43ace9a3908","trace_id":"aefbb2e73166fd16a22521769e4f3de1","parent_id":"e024903289866f0f","duration":16.717,"timestamp":1646055582825024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-aefbb2e73166fd16a22521769e4f3de1-e024903289866f0f-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-aefbb2e73166fd16a22521769e4f3de1-e024903289866f0f-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:39:42 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"31dfa839ed66953a","trace_id":"aefbb2e73166fd16a22521769e4f3de1","duration":118.137,"timestamp":1646055582756022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:42 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"f1ec2c6220dad1f1","transaction_id":"31dfa839ed66953a","parent_id":"31dfa839ed66953a","trace_id":"aefbb2e73166fd16a22521769e4f3de1","subtype":"http","action":"GET","timestamp":1646055582772925,"duration":90.262,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"48291c244cbcf604","transaction_id":"43e49d8056c833a6","parent_id":"43e49d8056c833a6","trace_id":"c13b01f1f2d81a30232c0438e5d5cee2","subtype":"postgresql","action":"query","timestamp":1646055583413119,"duration":2.692,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"43e49d8056c833a6","trace_id":"c13b01f1f2d81a30232c0438e5d5cee2","parent_id":"4c7047f8377258b5","duration":25.974,"timestamp":1646055583408023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3","full":"http://opbeans-node:3000/api/products/3"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-c13b01f1f2d81a30232c0438e5d5cee2-4c7047f8377258b5-01","elastic-apm-traceparent":"00-c13b01f1f2d81a30232c0438e5d5cee2-4c7047f8377258b5-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"231","etag":"W/\"e7-kkuzj37GZDzXDh0CWqh5Gan0VO4\"","date":"Mon, 28 Feb 2022 13:39:43 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"507e99cb39b1f285","trace_id":"c13b01f1f2d81a30232c0438e5d5cee2","duration":232.452,"timestamp":1646055583247020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3","full":"http://opbeans-node:3000/api/products/3"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:43 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"231","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"6600e56c1cdfca2d","transaction_id":"507e99cb39b1f285","parent_id":"507e99cb39b1f285","trace_id":"c13b01f1f2d81a30232c0438e5d5cee2","subtype":"http","action":"GET","timestamp":1646055583251784,"duration":212.148,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/3"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"c9ce8fec2334da86","trace_id":"0310b791b9738e51a7786e39f911ba17","parent_id":"97891fb4c610170d","duration":61.313,"timestamp":1646055583725045,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/1","full":"http://opbeans-node:3000/api/products/1"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-0310b791b9738e51a7786e39f911ba17-97891fb4c610170d-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-0310b791b9738e51a7786e39f911ba17-97891fb4c610170d-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"231","etag":"W/\"e7-6JlJegaJ+ir0C8I8EmmOjms1dnc\"","date":"Mon, 28 Feb 2022 13:39:43 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"15f9272a984c2a5e","transaction_id":"c9ce8fec2334da86","parent_id":"c9ce8fec2334da86","trace_id":"0310b791b9738e51a7786e39f911ba17","subtype":"postgresql","action":"query","timestamp":1646055583754803,"duration":12.686,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"21c6cf60388fb195","trace_id":"6369ba72132799d3a692f32f3297cb18","parent_id":"b3eb073a7df9698c","duration":44.831,"timestamp":1646055583791037,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:43 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"d52acaa8d8987c59","transaction_id":"6a8360507075443e","parent_id":"6a8360507075443e","trace_id":"b7d759284eee82140e983da3de95b6b3","subtype":"postgresql","action":"query","timestamp":1646055584282152,"duration":6.788,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"6a8360507075443e","trace_id":"b7d759284eee82140e983da3de95b6b3","duration":18.465,"timestamp":1646055584273042,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/26","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/26","full":"http://opbeans-node:3000/api/orders/26"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:39:44 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"c6c7d940300ca013","transaction_id":"928986f2eb0b983f","parent_id":"928986f2eb0b983f","trace_id":"c3af23788b1ceae9640956e2e60ee73b","subtype":"postgresql","action":"query","timestamp":1646055584781934,"duration":7.33,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"928986f2eb0b983f","trace_id":"c3af23788b1ceae9640956e2e60ee73b","duration":33.761,"timestamp":1646055584765062,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/1","full":"http://opbeans-node:3000/api/products/1"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"231","etag":"W/\"e7-6JlJegaJ+ir0C8I8EmmOjms1dnc\"","date":"Mon, 28 Feb 2022 13:39:44 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"d13dd80ac5f65d8e","transaction_id":"cb995459b92d4c34","parent_id":"cb995459b92d4c34","trace_id":"37eb2457eca6142c3a8795dd85c7ea31","subtype":"postgresql","action":"query","timestamp":1646055584868994,"duration":36.086,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"8b88c18e4038e41c","transaction_id":"cb995459b92d4c34","parent_id":"cb995459b92d4c34","trace_id":"37eb2457eca6142c3a8795dd85c7ea31","subtype":"postgresql","action":"query","timestamp":1646055584876548,"duration":47.928,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"d51af3e2963ef159","transaction_id":"cb995459b92d4c34","parent_id":"cb995459b92d4c34","trace_id":"37eb2457eca6142c3a8795dd85c7ea31","subtype":"postgresql","action":"query","timestamp":1646055584885553,"duration":56.664,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"f653465db6e8bee9","transaction_id":"cb995459b92d4c34","parent_id":"cb995459b92d4c34","trace_id":"37eb2457eca6142c3a8795dd85c7ea31","subtype":"postgresql","action":"query","timestamp":1646055584901954,"duration":58.085,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f2e2c64d415247eb","transaction_id":"cb995459b92d4c34","parent_id":"cb995459b92d4c34","trace_id":"37eb2457eca6142c3a8795dd85c7ea31","subtype":"postgresql","action":"query","timestamp":1646055584962650,"duration":7.673,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"e4115454133f972c","transaction_id":"cb995459b92d4c34","parent_id":"cb995459b92d4c34","trace_id":"37eb2457eca6142c3a8795dd85c7ea31","subtype":"postgresql","action":"query","timestamp":1646055584965099,"duration":6.665,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"4ec7225853c4ab52","transaction_id":"cb995459b92d4c34","parent_id":"cb995459b92d4c34","trace_id":"37eb2457eca6142c3a8795dd85c7ea31","subtype":"postgresql","action":"query","timestamp":1646055584967261,"duration":6.02,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"cb995459b92d4c34","trace_id":"37eb2457eca6142c3a8795dd85c7ea31","parent_id":"f485ce5b352bd65c","duration":127.99,"timestamp":1646055584851035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-37eb2457eca6142c3a8795dd85c7ea31-f485ce5b352bd65c-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-37eb2457eca6142c3a8795dd85c7ea31-f485ce5b352bd65c-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:39:44 GMT","connection":"close"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"48299ea3fb164b13","trace_id":"15cc78733234b64f58d876ccbed4c6d7","duration":86.131,"timestamp":1646055585259025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2","full":"http://opbeans-node:3000/api/products/2"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:45 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"f6490895ef1a1473","transaction_id":"48299ea3fb164b13","parent_id":"48299ea3fb164b13","trace_id":"15cc78733234b64f58d876ccbed4c6d7","subtype":"http","action":"GET","timestamp":1646055585264094,"duration":46.374,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/2"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"f287f12f136d9e71","trace_id":"f5d7796a40ab56b1e99eb41176ee2db6","parent_id":"5c34998d674f6432","duration":150.056,"timestamp":1646055585278062,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/336","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/336","full":"http://opbeans-node:3000/api/customers/336"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-f5d7796a40ab56b1e99eb41176ee2db6-5c34998d674f6432-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-f5d7796a40ab56b1e99eb41176ee2db6-5c34998d674f6432-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:45 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"209","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"affcbe684248f8c2","transaction_id":"f287f12f136d9e71","parent_id":"f287f12f136d9e71","trace_id":"f5d7796a40ab56b1e99eb41176ee2db6","subtype":"http","action":"GET","timestamp":1646055585289657,"duration":117.851,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers/336"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"4eeca161738afe30","trace_id":"c8ea9682ef419a64d347c0f599fdb1ff","duration":123.155,"timestamp":1646055585755030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"195dc75dd23c6abbf5c85d7fd3d619d1\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"1ece963c-1e32-40a5-b636-ed8013db0fde","x-runtime":"0.065412","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:45 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"ca24e447a53ad213","transaction_id":"4eeca161738afe30","parent_id":"4eeca161738afe30","trace_id":"c8ea9682ef419a64d347c0f599fdb1ff","subtype":"http","action":"GET","timestamp":1646055585767935,"duration":96.743,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"90f4b7b5141f5b16","trace_id":"7bcae756cc2af0bd211d3223e7d5387e","parent_id":"a9dccaef47c24489","duration":77.162,"timestamp":1646055585958033,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4/customers","full":"http://opbeans-node:3000/api/products/4/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-7bcae756cc2af0bd211d3223e7d5387e-a9dccaef47c24489-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-7bcae756cc2af0bd211d3223e7d5387e-a9dccaef47c24489-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:46 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"24ea7cff45e5f035","transaction_id":"90f4b7b5141f5b16","parent_id":"90f4b7b5141f5b16","trace_id":"7bcae756cc2af0bd211d3223e7d5387e","subtype":"http","action":"GET","timestamp":1646055585964838,"duration":65.094,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/4/customers"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"042c5a4211ab6b49","trace_id":"a649c79f29a788d3b48568b20daf7cde","duration":15.435,"timestamp":1646055586272041,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:39:46 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"60012b8f12574a9e","trace_id":"bf1a8d99eb6dcd8d94baf76cd9006f8e","parent_id":"6fe70aaeee5df680","duration":36.16,"timestamp":1646055586352034,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:46 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"0a37f27d26e91b87","transaction_id":"b01c48dcdfd88308","parent_id":"b01c48dcdfd88308","trace_id":"635348a11a26b0b1e490e37804900acb","subtype":"redis","action":null,"timestamp":1646055586519918,"duration":2.351,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"0dc81d2a07e86d2d","transaction_id":"b01c48dcdfd88308","parent_id":"b01c48dcdfd88308","trace_id":"635348a11a26b0b1e490e37804900acb","subtype":"postgresql","action":"query","timestamp":1646055586523987,"duration":3.518,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"b01c48dcdfd88308","trace_id":"635348a11a26b0b1e490e37804900acb","parent_id":"88262444de8bb6a7","duration":20.836,"timestamp":1646055586515020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-635348a11a26b0b1e490e37804900acb-88262444de8bb6a7-01","elastic-apm-traceparent":"00-635348a11a26b0b1e490e37804900acb-88262444de8bb6a7-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:39:46 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"0cc47f95a3e88c96","trace_id":"635348a11a26b0b1e490e37804900acb","parent_id":"e04b3398ef798bc8","duration":86.806,"timestamp":1646055586475031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-635348a11a26b0b1e490e37804900acb-e04b3398ef798bc8-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-635348a11a26b0b1e490e37804900acb-e04b3398ef798bc8-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:46 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"2777e37f75013ebb","transaction_id":"0cc47f95a3e88c96","parent_id":"0cc47f95a3e88c96","trace_id":"635348a11a26b0b1e490e37804900acb","subtype":"http","action":"GET","timestamp":1646055586481821,"duration":72.731,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"5208df63f1f721da","transaction_id":"fe73b4ed2b572cd6","parent_id":"fe73b4ed2b572cd6","trace_id":"d33e4b1e64024cbf89ac834f6d967562","subtype":"postgresql","action":"query","timestamp":1646055587282430,"duration":5.519,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"fe73b4ed2b572cd6","trace_id":"d33e4b1e64024cbf89ac834f6d967562","duration":19.263,"timestamp":1646055587274042,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/978","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/978","full":"http://opbeans-node:3000/api/customers/978"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"207","etag":"W/\"cf-agThUtTWUUJVjBsqLUaUgTLU3HU\"","date":"Mon, 28 Feb 2022 13:39:47 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"c83213c1158741a3","trace_id":"60e29380ef9dc941c54e123dd4e11b6f","parent_id":"3185f2b18c9c770a","duration":818.454,"timestamp":1646055586792030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-60e29380ef9dc941c54e123dd4e11b6f-3185f2b18c9c770a-01","elastic-apm-traceparent":"00-60e29380ef9dc941c54e123dd4e11b6f-3185f2b18c9c770a-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:47 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"459944fa72e32422","transaction_id":"c83213c1158741a3","parent_id":"c83213c1158741a3","trace_id":"60e29380ef9dc941c54e123dd4e11b6f","subtype":"http","action":"GET","timestamp":1646055586796891,"duration":808.997,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"34b43ad54b2b729e","trace_id":"60e29380ef9dc941c54e123dd4e11b6f","duration":891.341,"timestamp":1646055586751026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:47 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"309","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"db2d10b11e908397","transaction_id":"34b43ad54b2b729e","parent_id":"34b43ad54b2b729e","trace_id":"60e29380ef9dc941c54e123dd4e11b6f","subtype":"http","action":"GET","timestamp":1646055586757941,"duration":879.495,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"28fee1e523f34d2e","trace_id":"67ad37f7929493ee056d7e2a0b3b9e08","parent_id":"d3a794490442a2db","duration":41.738,"timestamp":1646055587618024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/146","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/146","full":"http://opbeans-node:3000/api/customers/146"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-67ad37f7929493ee056d7e2a0b3b9e08-d3a794490442a2db-01","elastic-apm-traceparent":"00-67ad37f7929493ee056d7e2a0b3b9e08-d3a794490442a2db-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"175","etag":"W/\"af-FnKkSPYR8Pbmva59pVBgG5r3d04\"","date":"Mon, 28 Feb 2022 13:39:47 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"cb69425f9ccf3eff","transaction_id":"28fee1e523f34d2e","parent_id":"28fee1e523f34d2e","trace_id":"67ad37f7929493ee056d7e2a0b3b9e08","subtype":"postgresql","action":"query","timestamp":1646055587629727,"duration":26.379,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"2b2da280dc278f95","transaction_id":"b564b65efbed2352","parent_id":"b564b65efbed2352","trace_id":"5fe8acf5cb507a9a6cb6f265e6662d01","subtype":"redis","action":null,"timestamp":1646055587756606,"duration":2.069,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"8644f362ffb98163","transaction_id":"b564b65efbed2352","parent_id":"b564b65efbed2352","trace_id":"5fe8acf5cb507a9a6cb6f265e6662d01","subtype":"postgresql","action":"query","timestamp":1646055587766451,"duration":7.472,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"b564b65efbed2352","trace_id":"5fe8acf5cb507a9a6cb6f265e6662d01","duration":32.495,"timestamp":1646055587751033,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:39:47 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"afaa18457aa5d0fa","transaction_id":"bdf85c2ce6c58e27","parent_id":"bdf85c2ce6c58e27","trace_id":"f105c2c5c8d93167311de2a6496c2e30","subtype":"redis","action":null,"timestamp":1646055587855717,"duration":4.679,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"1b735787ac7a2fa6","transaction_id":"bdf85c2ce6c58e27","parent_id":"bdf85c2ce6c58e27","trace_id":"f105c2c5c8d93167311de2a6496c2e30","subtype":"postgresql","action":"query","timestamp":1646055587877061,"duration":4.487,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"bdf85c2ce6c58e27","trace_id":"f105c2c5c8d93167311de2a6496c2e30","parent_id":"1153af64fa33701e","duration":60.481,"timestamp":1646055587836059,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-f105c2c5c8d93167311de2a6496c2e30-1153af64fa33701e-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-f105c2c5c8d93167311de2a6496c2e30-1153af64fa33701e-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:39:47 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b3a7c4684eafcc01","trace_id":"258578c587e8b98bdba53052e038ff9a","parent_id":"6a9cc9563c011dc5","duration":38.502,"timestamp":1646055588050029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-258578c587e8b98bdba53052e038ff9a-6a9cc9563c011dc5-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-258578c587e8b98bdba53052e038ff9a-6a9cc9563c011dc5-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:48 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"128","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"2b50c9946a3196f6","transaction_id":"b3a7c4684eafcc01","parent_id":"b3a7c4684eafcc01","trace_id":"258578c587e8b98bdba53052e038ff9a","subtype":"http","action":"GET","timestamp":1646055588059006,"duration":22.569,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"0899e8438584a37f","transaction_id":"079b3751d9435b6d","parent_id":"079b3751d9435b6d","trace_id":"3bc85cf2fa831603fa1032165fa9b36e","subtype":"http","action":"GET","timestamp":1646055588199254,"duration":8.771,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders/54"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"079b3751d9435b6d","trace_id":"3bc85cf2fa831603fa1032165fa9b36e","parent_id":"ce229927d1a0015f","duration":22.546,"timestamp":1646055588195029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/54","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/54","full":"http://opbeans-node:3000/api/orders/54"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-3bc85cf2fa831603fa1032165fa9b36e-ce229927d1a0015f-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-3bc85cf2fa831603fa1032165fa9b36e-ce229927d1a0015f-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:48 GMT","content-length":"308","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /throw-error","type":"request","result":"HTTP 5xx","id":"f10b5d0f56336e86","trace_id":"32d1deb68c5ec2564a49e6df452de8a2","duration":9.14,"timestamp":1646055588254022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/throw-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/throw-error","full":"http://opbeans-node:3000/throw-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-security-policy":"default-src 'none'","x-content-type-options":"nosniff","content-type":"text/html; charset=utf-8","content-length":"148","date":"Mon, 28 Feb 2022 13:39:48 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"6e16ab98f5745263","trace_id":"ac04a9d719e6b0e190a3631ff702d0ae","duration":60.755,"timestamp":1646055588767029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/353","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/353","full":"http://opbeans-node:3000/api/orders/353"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:48 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"305","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"5a522067888027a6","transaction_id":"6e16ab98f5745263","parent_id":"6e16ab98f5745263","trace_id":"ac04a9d719e6b0e190a3631ff702d0ae","subtype":"http","action":"GET","timestamp":1646055588772942,"duration":49.152,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/orders/353"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"c7b067f278f61fa8","trace_id":"6380fa7c1ca47f80f35f63f77313b3b8","duration":38.638,"timestamp":1646055589260055,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:39:49 GMT","content-length":"403","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"484f9d2d45da7633","transaction_id":"c7b067f278f61fa8","parent_id":"c7b067f278f61fa8","trace_id":"6380fa7c1ca47f80f35f63f77313b3b8","subtype":"http","action":"GET","timestamp":1646055589269100,"duration":24.124,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"e466fbccdcf91fbd","transaction_id":"e00c1e146a25cbec","parent_id":"e00c1e146a25cbec","trace_id":"53ccee31fa2e9226b2c0ee8d25007cb5","subtype":"postgresql","action":"query","timestamp":1646055589541170,"duration":3.328,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 4xx","id":"e00c1e146a25cbec","trace_id":"53ccee31fa2e9226b2c0ee8d25007cb5","parent_id":"2e5a90f1fb9c5fb4","duration":18.391,"timestamp":1646055589535028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/9399","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/9399","full":"http://opbeans-node:3000/api/customers/9399"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-53ccee31fa2e9226b2c0ee8d25007cb5-2e5a90f1fb9c5fb4-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-53ccee31fa2e9226b2c0ee8d25007cb5-2e5a90f1fb9c5fb4-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:39:49 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"8ac88164c8ecfcc2","transaction_id":"794749fb77745fd6","parent_id":"794749fb77745fd6","trace_id":"d851be282d8a79151964f450363ed6e4","subtype":"postgresql","action":"query","timestamp":1646055589764806,"duration":5.039,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"d3b1ff555b87179c","transaction_id":"794749fb77745fd6","parent_id":"794749fb77745fd6","trace_id":"d851be282d8a79151964f450363ed6e4","subtype":"postgresql","action":"query","timestamp":1646055589771631,"duration":9.192,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"794749fb77745fd6","trace_id":"d851be282d8a79151964f450363ed6e4","duration":40.651,"timestamp":1646055589757026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:39:49 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"d68eef8658abe5c5","transaction_id":"794749fb77745fd6","parent_id":"794749fb77745fd6","trace_id":"d851be282d8a79151964f450363ed6e4","subtype":"postgresql","action":"query","timestamp":1646055589773928,"duration":16.824,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"6b4a27dc410cbd9b","transaction_id":"794749fb77745fd6","parent_id":"794749fb77745fd6","trace_id":"d851be282d8a79151964f450363ed6e4","subtype":"postgresql","action":"query","timestamp":1646055589776490,"duration":16.472,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"6fc68a3630a79d89","trace_id":"41f9f478d6279298a9c9a279b8667107","parent_id":"9a36637fa30bf52f","duration":142.937,"timestamp":1646055589671023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-41f9f478d6279298a9c9a279b8667107-9a36637fa30bf52f-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-41f9f478d6279298a9c9a279b8667107-9a36637fa30bf52f-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:49 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"c35ff8a29cb157f9","transaction_id":"6fc68a3630a79d89","parent_id":"6fc68a3630a79d89","trace_id":"41f9f478d6279298a9c9a279b8667107","subtype":"http","action":"GET","timestamp":1646055589675070,"duration":132.908,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"e279684b13d2848c","trace_id":"b96751441bf64d9a286174d7f0b467dc","parent_id":"de2aae45db937bd6","duration":54.124,"timestamp":1646055589820022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/3","full":"http://opbeans-go:3000/api/types/3"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-b96751441bf64d9a286174d7f0b467dc-de2aae45db937bd6-01","traceparent":"00-b96751441bf64d9a286174d7f0b467dc-de2aae45db937bd6-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"8e3260febb99939d3db0e054e5bf5def\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"27b6bed4-1ab5-4034-9780-e1a3a40ebb8e","x-runtime":"0.011592","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:49 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"18ae007c9004af6b","transaction_id":"e279684b13d2848c","parent_id":"e279684b13d2848c","trace_id":"b96751441bf64d9a286174d7f0b467dc","subtype":"http","action":"GET","timestamp":1646055589827711,"duration":41.464,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types/3"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"e4e1bb6557b4ab5f","trace_id":"9572a27652a7f60aeb6bf75e41f1fc44","parent_id":"5095e326b65f7f95","duration":108.744,"timestamp":1646055590153035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-9572a27652a7f60aeb6bf75e41f1fc44-5095e326b65f7f95-01","elastic-apm-traceparent":"00-9572a27652a7f60aeb6bf75e41f1fc44-5095e326b65f7f95-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"e7a2362bf423f315691b319c14409fa6\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"f035548f-176e-44e6-b7b2-6245afa55b45","x-runtime":"0.025212","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:50 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"86fa006d661a9ead","transaction_id":"e4e1bb6557b4ab5f","parent_id":"e4e1bb6557b4ab5f","trace_id":"9572a27652a7f60aeb6bf75e41f1fc44","subtype":"http","action":"GET","timestamp":1646055590157758,"duration":90.685,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"34dce0122dc9b1ab","trace_id":"13b885b1620f7d2ae2e12f456cd8e228","parent_id":"aa719cd867cbabdb","duration":32.789,"timestamp":1646055590359028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/610","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/610","full":"http://opbeans-node:3000/api/customers/610"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-13b885b1620f7d2ae2e12f456cd8e228-aa719cd867cbabdb-01","elastic-apm-traceparent":"00-13b885b1620f7d2ae2e12f456cd8e228-aa719cd867cbabdb-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"185","etag":"W/\"b9-8nflmbfqqyLp6F4mSA2j8RoilIA\"","date":"Mon, 28 Feb 2022 13:39:50 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"8ee42999e487440a","transaction_id":"34dce0122dc9b1ab","parent_id":"34dce0122dc9b1ab","trace_id":"13b885b1620f7d2ae2e12f456cd8e228","subtype":"postgresql","action":"query","timestamp":1646055590370925,"duration":13.097,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"04d4cd6af056287b","trace_id":"98796093fb4205e684127317b13d9480","parent_id":"e84e6fc9bc6d2eb3","duration":125.16,"timestamp":1646055590343029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/top","full":"http://opbeans-go:3000/api/products/top"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-98796093fb4205e684127317b13d9480-e84e6fc9bc6d2eb3-01","traceparent":"00-98796093fb4205e684127317b13d9480-e84e6fc9bc6d2eb3-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:50 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"309","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"5b1305f98fd85e06","transaction_id":"04d4cd6af056287b","parent_id":"04d4cd6af056287b","trace_id":"98796093fb4205e684127317b13d9480","subtype":"http","action":"GET","timestamp":1646055590352535,"duration":105.928,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"78f63e6730e5f4f7","transaction_id":"f08b976ac804e5f5","parent_id":"f08b976ac804e5f5","trace_id":"f9680311309189351a0d09ee91b2368f","subtype":"postgresql","action":"query","timestamp":1646055590500735,"duration":38.146,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"7ebe4b94dd158e3d","trace_id":"3b2cb23e85b2bb53bce977a1d205ee7a","duration":395.289,"timestamp":1646055590325056,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/3","full":"http://opbeans-node:3000/api/types/3"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:50 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"115","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"f08b976ac804e5f5","trace_id":"f9680311309189351a0d09ee91b2368f","parent_id":"b6fffe276f794ace","duration":293.585,"timestamp":1646055590495020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-f9680311309189351a0d09ee91b2368f-b6fffe276f794ace-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-f9680311309189351a0d09ee91b2368f-b6fffe276f794ace-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:39:50 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"c65b5e4016021453","transaction_id":"f08b976ac804e5f5","parent_id":"f08b976ac804e5f5","trace_id":"f9680311309189351a0d09ee91b2368f","subtype":"postgresql","action":"query","timestamp":1646055590564441,"duration":86.117,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"48fda3ab8017e3c0","transaction_id":"f08b976ac804e5f5","parent_id":"f08b976ac804e5f5","trace_id":"f9680311309189351a0d09ee91b2368f","subtype":"postgresql","action":"query","timestamp":1646055590588018,"duration":67.693,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"181ad13bfc5b974b","transaction_id":"7ebe4b94dd158e3d","parent_id":"7ebe4b94dd158e3d","trace_id":"3b2cb23e85b2bb53bce977a1d205ee7a","subtype":"http","action":"GET","timestamp":1646055590337633,"duration":375.833,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types/3"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"86e8390e57c14408","transaction_id":"f08b976ac804e5f5","parent_id":"f08b976ac804e5f5","trace_id":"f9680311309189351a0d09ee91b2368f","subtype":"postgresql","action":"query","timestamp":1646055590615536,"duration":146.16,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"5bdc937ba995e997","trace_id":"66802f31808ce192cdd61aa87f9d1fe2","duration":129.885,"timestamp":1646055590817029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/1","full":"http://opbeans-node:3000/api/products/1"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"4e69fb0c37752114965f1e1639106618\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"68c8fed7-3f37-42ef-af09-a6cba26b81d4","x-runtime":"0.053029","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:50 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"9bb32f4202e518a3","transaction_id":"5bdc937ba995e997","parent_id":"5bdc937ba995e997","trace_id":"66802f31808ce192cdd61aa87f9d1fe2","subtype":"http","action":"GET","timestamp":1646055590828457,"duration":92.355,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/1"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"3599913382f3d89f","transaction_id":"f8e1c9d5c0adbf71","parent_id":"f8e1c9d5c0adbf71","trace_id":"555e1ccd9b40d77bc8a443dfb09cc9ca","subtype":"postgresql","action":"query","timestamp":1646055591040834,"duration":7.956,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"f8e1c9d5c0adbf71","trace_id":"555e1ccd9b40d77bc8a443dfb09cc9ca","parent_id":"016195a355381686","duration":42.91,"timestamp":1646055591014031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4/customers","full":"http://opbeans-node:3000/api/products/4/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-555e1ccd9b40d77bc8a443dfb09cc9ca-016195a355381686-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-555e1ccd9b40d77bc8a443dfb09cc9ca-016195a355381686-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:39:51 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"b83e170d0a5447d0","trace_id":"9cb2b3ab1747f91b8f7599336759cd3f","parent_id":"29d22c1f1f1dfde5","duration":59.182,"timestamp":1646055591235050,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/202","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/202","full":"http://opbeans-node:3000/api/customers/202"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-9cb2b3ab1747f91b8f7599336759cd3f-29d22c1f1f1dfde5-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-9cb2b3ab1747f91b8f7599336759cd3f-29d22c1f1f1dfde5-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"194","etag":"W/\"c2-PTZ22yvqVUaX97EvKT0nSI1TePY\"","date":"Mon, 28 Feb 2022 13:39:51 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"4fc06bbcd980e953","transaction_id":"b83e170d0a5447d0","parent_id":"b83e170d0a5447d0","trace_id":"9cb2b3ab1747f91b8f7599336759cd3f","subtype":"postgresql","action":"query","timestamp":1646055591267326,"duration":17.109,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"cd4ccb47ff85cf9c","trace_id":"10a82d37eb49217cc622792d3ad2debd","parent_id":"056765085f120cb7","duration":383.095,"timestamp":1646055591045021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-10a82d37eb49217cc622792d3ad2debd-056765085f120cb7-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-10a82d37eb49217cc622792d3ad2debd-056765085f120cb7-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"195dc75dd23c6abbf5c85d7fd3d619d1\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"498d15e0-ed78-46f1-a267-415fc375c80f","x-runtime":"0.146100","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:51 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"ec04b533224149b5","transaction_id":"cd4ccb47ff85cf9c","parent_id":"cd4ccb47ff85cf9c","trace_id":"10a82d37eb49217cc622792d3ad2debd","subtype":"http","action":"GET","timestamp":1646055591079667,"duration":341.193,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"66267509b082c385","transaction_id":"20cdc98620c2531a","parent_id":"20cdc98620c2531a","trace_id":"ba63dc8d74a96c6490828f2dc8223131","subtype":"redis","action":null,"timestamp":1646055591538208,"duration":3.815,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"20cdc98620c2531a","trace_id":"ba63dc8d74a96c6490828f2dc8223131","parent_id":"b8295ac8da484f8c","duration":54.863,"timestamp":1646055591519029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-ba63dc8d74a96c6490828f2dc8223131-b8295ac8da484f8c-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-ba63dc8d74a96c6490828f2dc8223131-b8295ac8da484f8c-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:39:51 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"b3a680438d0eed31","transaction_id":"20cdc98620c2531a","parent_id":"20cdc98620c2531a","trace_id":"ba63dc8d74a96c6490828f2dc8223131","subtype":"postgresql","action":"query","timestamp":1646055591543506,"duration":19.702,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"a0b7631d9d2b26cf","trace_id":"ba63dc8d74a96c6490828f2dc8223131","duration":307.975,"timestamp":1646055591300023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:39:51 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"c096876cd93d45e3","transaction_id":"a0b7631d9d2b26cf","parent_id":"a0b7631d9d2b26cf","trace_id":"ba63dc8d74a96c6490828f2dc8223131","subtype":"http","action":"GET","timestamp":1646055591319006,"duration":276.674,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"af2bccc3aa14364f","trace_id":"9a514183ed8e782aaed3d0767504632b","parent_id":"da10113e19d338fd","duration":157.562,"timestamp":1646055591546023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-9a514183ed8e782aaed3d0767504632b-da10113e19d338fd-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-9a514183ed8e782aaed3d0767504632b-da10113e19d338fd-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:39:51 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"186769","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"55be64a4f27422ad","transaction_id":"af2bccc3aa14364f","parent_id":"af2bccc3aa14364f","trace_id":"9a514183ed8e782aaed3d0767504632b","subtype":"http","action":"GET","timestamp":1646055591556851,"duration":140.655,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"82ffe6defce59109","transaction_id":"4632c7ea711b0caa","parent_id":"4632c7ea711b0caa","trace_id":"75225aef0441903ea382847def82d2c0","subtype":"redis","action":null,"timestamp":1646055591736013,"duration":5.008,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"91bf7276cd18aa0b","transaction_id":"4632c7ea711b0caa","parent_id":"4632c7ea711b0caa","trace_id":"75225aef0441903ea382847def82d2c0","subtype":"postgresql","action":"query","timestamp":1646055591745569,"duration":2.73,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"4632c7ea711b0caa","trace_id":"75225aef0441903ea382847def82d2c0","parent_id":"80d19ba909586f8a","duration":31.704,"timestamp":1646055591724031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types","full":"http://opbeans-go:3000/api/types"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-75225aef0441903ea382847def82d2c0-80d19ba909586f8a-01","traceparent":"00-75225aef0441903ea382847def82d2c0-80d19ba909586f8a-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:39:51 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-error","type":"request","result":"HTTP 5xx","id":"a3613d3be18ef785","trace_id":"229cf535fac1a1556726fb3b809551a3","duration":73.671,"timestamp":1646055591790107,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-error","full":"http://opbeans-node:3000/log-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:39:51 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /throw-error","type":"request","result":"HTTP 5xx","id":"662f293844dc0970","trace_id":"30a9b73efe21f51cf37864669f4dcda3","duration":22.697,"timestamp":1646055592269058,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/throw-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/throw-error","full":"http://opbeans-node:3000/throw-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-security-policy":"default-src 'none'","x-content-type-options":"nosniff","content-type":"text/html; charset=utf-8","content-length":"148","date":"Mon, 28 Feb 2022 13:39:52 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"b49f3868e41db54d","trace_id":"60a955364a3e704ae0867a8d2e726a2f","duration":28.499,"timestamp":1646055592765046,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:39:52 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"f8d1e44e54bf9a10","transaction_id":"6199d92c51c22122","parent_id":"6199d92c51c22122","trace_id":"f62a8f9871fff75c004eb9d5c3362486","subtype":"postgresql","action":"query","timestamp":1646055593416175,"duration":13.678,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"6199d92c51c22122","trace_id":"f62a8f9871fff75c004eb9d5c3362486","duration":163.633,"timestamp":1646055593375048,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:39:53 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"3294f06f93de9469","transaction_id":"6199d92c51c22122","parent_id":"6199d92c51c22122","trace_id":"f62a8f9871fff75c004eb9d5c3362486","subtype":"postgresql","action":"query","timestamp":1646055593440118,"duration":58.989,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"85e2e025e104e9dc","transaction_id":"6199d92c51c22122","parent_id":"6199d92c51c22122","trace_id":"f62a8f9871fff75c004eb9d5c3362486","subtype":"postgresql","action":"query","timestamp":1646055593448172,"duration":66.578,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"7f5ba38c51a7a19f","transaction_id":"6199d92c51c22122","parent_id":"6199d92c51c22122","trace_id":"f62a8f9871fff75c004eb9d5c3362486","subtype":"postgresql","action":"query","timestamp":1646055593465573,"duration":58.119,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"3feb4feb505534ee","trace_id":"f1541ebbef4057b5eccc1fc1e0dc2e1e","duration":43.948,"timestamp":1646055593853036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5","full":"http://opbeans-node:3000/api/products/5"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"250","etag":"W/\"fa-O2pSp/nl49sefAwhjFNnvOX493Y\"","date":"Mon, 28 Feb 2022 13:39:53 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"92fe03cc54bd353e","transaction_id":"3feb4feb505534ee","parent_id":"3feb4feb505534ee","trace_id":"f1541ebbef4057b5eccc1fc1e0dc2e1e","subtype":"postgresql","action":"query","timestamp":1646055593869798,"duration":11.723,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"c626f6345c72403c","trace_id":"66d5735995cf9d7d37a296c7aca2873d","parent_id":"2f8dd67cbda1c38e","duration":11.784,"timestamp":1646055594326034,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:39:54 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"b737ca38d8696e3c","transaction_id":"11c7032ca54791be","parent_id":"11c7032ca54791be","trace_id":"8cc5efeaec471d0d532560e34a126a57","subtype":"redis","action":null,"timestamp":1646055594873360,"duration":6.138,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"11c7032ca54791be","trace_id":"8cc5efeaec471d0d532560e34a126a57","duration":131.216,"timestamp":1646055594854074,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:39:54 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"c65b1ed6a3a29aa0","transaction_id":"11c7032ca54791be","parent_id":"11c7032ca54791be","trace_id":"8cc5efeaec471d0d532560e34a126a57","subtype":"postgresql","action":"query","timestamp":1646055594881802,"duration":48.029,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"8bdc4e59862d6a13","trace_id":"a1b1df8392c28e6e948e6bf3c8b5bf8e","parent_id":"860cd69182ba6362","duration":305.133,"timestamp":1646055595047118,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/507","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/507","full":"http://opbeans-node:3000/api/customers/507"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-a1b1df8392c28e6e948e6bf3c8b5bf8e-860cd69182ba6362-01","elastic-apm-traceparent":"00-a1b1df8392c28e6e948e6bf3c8b5bf8e-860cd69182ba6362-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"196","etag":"W/\"c4-DWY8j8LVBtYFKFdcqsE3r2Th/Fo\"","date":"Mon, 28 Feb 2022 13:39:55 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"94da3ab08d9cdbea","transaction_id":"8bdc4e59862d6a13","parent_id":"8bdc4e59862d6a13","trace_id":"a1b1df8392c28e6e948e6bf3c8b5bf8e","subtype":"postgresql","action":"query","timestamp":1646055595073777,"duration":204.34,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-error","type":"request","result":"HTTP 5xx","id":"46bf8199208dca53","trace_id":"f84a23cf63e4872e38608d9a95f4c327","duration":220.194,"timestamp":1646055595433045,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-error","full":"http://opbeans-node:3000/log-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:39:55 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"525cfd618221cda2","transaction_id":"1e0001b7a75a94c9","parent_id":"1e0001b7a75a94c9","trace_id":"65433289fd3a683395cf5446384bd1e9","subtype":"redis","action":null,"timestamp":1646055595781109,"duration":3.154,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"605ac1a7001a9ba6","transaction_id":"1e0001b7a75a94c9","parent_id":"1e0001b7a75a94c9","trace_id":"65433289fd3a683395cf5446384bd1e9","subtype":"postgresql","action":"query","timestamp":1646055595786183,"duration":75.485,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"1e0001b7a75a94c9","trace_id":"65433289fd3a683395cf5446384bd1e9","parent_id":"40df933efca9e4ec","duration":173.266,"timestamp":1646055595771032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-65433289fd3a683395cf5446384bd1e9-40df933efca9e4ec-01","elastic-apm-traceparent":"00-65433289fd3a683395cf5446384bd1e9-40df933efca9e4ec-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:39:55 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"42764d9b23fc3f3c","trace_id":"68df3101fee4f75f2044e57e15f3263e","duration":82.573,"timestamp":1646055595987040,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3","full":"http://opbeans-node:3000/api/products/3"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"231","etag":"W/\"e7-kkuzj37GZDzXDh0CWqh5Gan0VO4\"","date":"Mon, 28 Feb 2022 13:39:56 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"d49a8543ebaf2d0d","transaction_id":"42764d9b23fc3f3c","parent_id":"42764d9b23fc3f3c","trace_id":"68df3101fee4f75f2044e57e15f3263e","subtype":"postgresql","action":"query","timestamp":1646055596038050,"duration":23.528,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"91230eb0616f4dc6","trace_id":"cd96b2d12f158cd68dce18d42e3ec65d","parent_id":"3c2af5345baa9098","duration":240.486,"timestamp":1646055606650317,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:06 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"00d0424592f043fb","trace_id":"7249683ac688b97f7aea00b4b0fa541a","parent_id":"71c9599b51c1d3e1","duration":221.242,"timestamp":1646055607033028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types","full":"http://opbeans-go:3000/api/types"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-7249683ac688b97f7aea00b4b0fa541a-71c9599b51c1d3e1-01","traceparent":"00-7249683ac688b97f7aea00b4b0fa541a-71c9599b51c1d3e1-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:07 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"123","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"150c3aab42222106","transaction_id":"d4fe7a087881007f","parent_id":"d4fe7a087881007f","trace_id":"7cacbab21e3cc81e99aa1641e9d7fbb0","subtype":"postgresql","action":"query","timestamp":1646055607143932,"duration":40.962,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"60bac09df46c5754","trace_id":"714c67ec687c762ea399465c9519e742","duration":226.921,"timestamp":1646055607167035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:40:07 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"c635b5737ee19818","transaction_id":"60bac09df46c5754","parent_id":"60bac09df46c5754","trace_id":"714c67ec687c762ea399465c9519e742","subtype":"postgresql","action":"query","timestamp":1646055607289045,"duration":73.309,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"d4fe7a087881007f","trace_id":"7cacbab21e3cc81e99aa1641e9d7fbb0","parent_id":"aadeb2933f0ea71e","duration":464.957,"timestamp":1646055606988026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-7cacbab21e3cc81e99aa1641e9d7fbb0-aadeb2933f0ea71e-01","elastic-apm-traceparent":"00-7cacbab21e3cc81e99aa1641e9d7fbb0-aadeb2933f0ea71e-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:07 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"c93691649f4dcc5a","trace_id":"7cacbab21e3cc81e99aa1641e9d7fbb0","duration":735.889,"timestamp":1646055606778039,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:07 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"275","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"d913e0465afe20c1","transaction_id":"00d0424592f043fb","parent_id":"00d0424592f043fb","trace_id":"7249683ac688b97f7aea00b4b0fa541a","subtype":"http","action":"GET","timestamp":1646055607057508,"duration":172.198,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"db5f9789a65b342a","transaction_id":"c93691649f4dcc5a","parent_id":"c93691649f4dcc5a","trace_id":"7cacbab21e3cc81e99aa1641e9d7fbb0","subtype":"http","action":"GET","timestamp":1646055606812150,"duration":693.315,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"ed7835af1dc83c9f","transaction_id":"60bac09df46c5754","parent_id":"60bac09df46c5754","trace_id":"714c67ec687c762ea399465c9519e742","subtype":"redis","action":null,"timestamp":1646055607200242,"duration":72.192,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"stacktrace":[{"filename":"node_modules/redis/lib/commands.js","lineno":46,"function":"get","library_frame":true,"abs_path":"/app/node_modules/redis/lib/commands.js"},{"filename":"server/routes.js","lineno":217,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":["","app.get('/orders', function (req, res) {"],"context_line":" redis.get('orders', function (err, obj) {","post_context":[" if (err) apm.captureError(err)"," else if (obj) return res.json(obj)"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":137,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":112,"function":"dispatch","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":281,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":88,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":["app.use('/api', function (req, res, next) {"," if (Math.random() > opbeansRedirectProbability) {"],"context_line":" return next()","post_context":[" }",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"c1fc6011d9772303","transaction_id":"a502b1cb8a6d21fb","parent_id":"a502b1cb8a6d21fb","trace_id":"c79f80ae805877b4ca9785bd31f9cbf5","subtype":"redis","action":null,"timestamp":1646055607587980,"duration":7.433,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"a502b1cb8a6d21fb","trace_id":"c79f80ae805877b4ca9785bd31f9cbf5","duration":53.332,"timestamp":1646055607578024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:40:07 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"c4e4f9c3a4af123b","transaction_id":"a502b1cb8a6d21fb","parent_id":"a502b1cb8a6d21fb","trace_id":"c79f80ae805877b4ca9785bd31f9cbf5","subtype":"postgresql","action":"query","timestamp":1646055607599173,"duration":11.771,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"e5a42a24d3c02b68","trace_id":"f8107f7898e3cc196d1ea808175c9085","parent_id":"9e0b38417dd63a69","duration":374.984,"timestamp":1646055607477055,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/1/customers?limit=60","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/1/customers","search":"?limit=60","full":"http://opbeans-go:3000/api/products/1/customers?limit=60"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-f8107f7898e3cc196d1ea808175c9085-9e0b38417dd63a69-01","traceparent":"00-f8107f7898e3cc196d1ea808175c9085-9e0b38417dd63a69-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"5e117079-687e-4a7c-aec9-efbd138fd663","x-runtime":"0.041985","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:07 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"ce432963f6c3c244","transaction_id":"e5a42a24d3c02b68","parent_id":"e5a42a24d3c02b68","trace_id":"f8107f7898e3cc196d1ea808175c9085","subtype":"http","action":"GET","timestamp":1646055607496171,"duration":337.634,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/1/customers?limit=60"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"8af20dc8873cd681","transaction_id":"d4fe7a087881007f","parent_id":"d4fe7a087881007f","trace_id":"7cacbab21e3cc81e99aa1641e9d7fbb0","subtype":"postgresql","action":"query","timestamp":1646055607080862,"duration":30.075,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"45f7d30b730c546b","transaction_id":"d4fe7a087881007f","parent_id":"d4fe7a087881007f","trace_id":"7cacbab21e3cc81e99aa1641e9d7fbb0","subtype":"postgresql","action":"query","timestamp":1646055607329561,"duration":99.909,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ba6bdc3967aa7e5e","transaction_id":"d4fe7a087881007f","parent_id":"d4fe7a087881007f","trace_id":"7cacbab21e3cc81e99aa1641e9d7fbb0","subtype":"postgresql","action":"query","timestamp":1646055607339179,"duration":101.938,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"f94083463fbc1139","trace_id":"65bc64ddd7f8a17c734c0d7127f94354","parent_id":"aac310cc0848ae23","duration":138.026,"timestamp":1646055608385039,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/5/customers","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-65bc64ddd7f8a17c734c0d7127f94354-aac310cc0848ae23-01","traceparent":"00-65bc64ddd7f8a17c734c0d7127f94354-aac310cc0848ae23-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:40:08 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"34f9d45e86a26c7b","transaction_id":"f94083463fbc1139","parent_id":"f94083463fbc1139","trace_id":"65bc64ddd7f8a17c734c0d7127f94354","subtype":"postgresql","action":"query","timestamp":1646055608414328,"duration":81.887,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"53d554fff127ef5b","transaction_id":"688f6ce7d7aa6ccb","parent_id":"688f6ce7d7aa6ccb","trace_id":"eb338752d55fb404ddb60809e08b0199","subtype":"redis","action":null,"timestamp":1646055608483347,"duration":81.625,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"stacktrace":[{"filename":"node_modules/redis/lib/commands.js","lineno":46,"function":"get","library_frame":true,"abs_path":"/app/node_modules/redis/lib/commands.js"},{"filename":"server/routes.js","lineno":59,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":["","app.get('/products', function (req, res) {"],"context_line":" redis.get('products', function (err, obj) {","post_context":[" if (err) apm.captureError(err)"," else if (obj) return res.json(obj)"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":137,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":112,"function":"dispatch","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":281,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":88,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":["app.use('/api', function (req, res, next) {"," if (Math.random() > opbeansRedirectProbability) {"],"context_line":" return next()","post_context":[" }",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"688f6ce7d7aa6ccb","trace_id":"eb338752d55fb404ddb60809e08b0199","duration":186.323,"timestamp":1646055608444222,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:40:08 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"d32bd40b0f8e7d0f","transaction_id":"688f6ce7d7aa6ccb","parent_id":"688f6ce7d7aa6ccb","trace_id":"eb338752d55fb404ddb60809e08b0199","subtype":"postgresql","action":"query","timestamp":1646055608582541,"duration":36.006,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"8deb355e7f28885a","trace_id":"c06718ca7d4b7dcf0fd76c992896ba57","parent_id":"baaad981dba40747","duration":98.781,"timestamp":1646055608589034,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/3","full":"http://opbeans-go:3000/api/products/3"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-c06718ca7d4b7dcf0fd76c992896ba57-baaad981dba40747-01","traceparent":"00-c06718ca7d4b7dcf0fd76c992896ba57-baaad981dba40747-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"231","etag":"W/\"e7-kkuzj37GZDzXDh0CWqh5Gan0VO4\"","date":"Mon, 28 Feb 2022 13:40:08 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"45091462ff69a810","transaction_id":"8deb355e7f28885a","parent_id":"8deb355e7f28885a","trace_id":"c06718ca7d4b7dcf0fd76c992896ba57","subtype":"postgresql","action":"query","timestamp":1646055608609188,"duration":60.881,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"8b4aa2a7e7e55132","transaction_id":"9015eb8b23817f6c","parent_id":"9015eb8b23817f6c","trace_id":"a2f68c30aa5ad5c71644d38fde05a87c","subtype":"postgresql","action":"query","timestamp":1646055608751204,"duration":9.682,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"9015eb8b23817f6c","trace_id":"a2f68c30aa5ad5c71644d38fde05a87c","duration":77.002,"timestamp":1646055608700028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/138","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/138","full":"http://opbeans-node:3000/api/orders/138"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:40:08 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"cc10ecd3ae693927","transaction_id":"c57b57adf03a4dfc","parent_id":"c57b57adf03a4dfc","trace_id":"46890da57b6fe9d41761d215e4260815","subtype":"postgresql","action":"query","timestamp":1646055609091074,"duration":8.213,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"c57b57adf03a4dfc","trace_id":"46890da57b6fe9d41761d215e4260815","duration":85.283,"timestamp":1646055609066096,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4","full":"http://opbeans-node:3000/api/products/4"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"243","etag":"W/\"f3-6sVO4eOixKeSqLsiOclAUoIfJnQ\"","date":"Mon, 28 Feb 2022 13:40:09 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"f32255cc6ab39e16","transaction_id":"2cf71469dba16bf2","parent_id":"2cf71469dba16bf2","trace_id":"92e256bb353aebba268f506ee3bfab9d","subtype":"redis","action":null,"timestamp":1646055609563845,"duration":3.433,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"773153cb1a48075b","transaction_id":"2cf71469dba16bf2","parent_id":"2cf71469dba16bf2","trace_id":"92e256bb353aebba268f506ee3bfab9d","subtype":"postgresql","action":"query","timestamp":1646055609574577,"duration":9.052,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"2cf71469dba16bf2","trace_id":"92e256bb353aebba268f506ee3bfab9d","duration":50.687,"timestamp":1646055609549033,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:40:09 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"addac42097b66fb6","trace_id":"d14d58267cb344fa7a55ab5075b14e77","parent_id":"9e28fcb8c327ed52","duration":1429.862,"timestamp":1646055608265054,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2","full":"http://opbeans-node:3000/api/products/2"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-d14d58267cb344fa7a55ab5075b14e77-9e28fcb8c327ed52-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-d14d58267cb344fa7a55ab5075b14e77-9e28fcb8c327ed52-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:09 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"02121e0cd84fcbc7","transaction_id":"addac42097b66fb6","parent_id":"addac42097b66fb6","trace_id":"d14d58267cb344fa7a55ab5075b14e77","subtype":"http","action":"GET","timestamp":1646055608343557,"duration":1343.307,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/2"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"fa723b62032aa127","trace_id":"d14d58267cb344fa7a55ab5075b14e77","parent_id":"250a23a880df8705","duration":2196.645,"timestamp":1646055607522022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2","full":"http://opbeans-node:3000/api/products/2"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-d14d58267cb344fa7a55ab5075b14e77-250a23a880df8705-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-d14d58267cb344fa7a55ab5075b14e77-250a23a880df8705-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:09 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"8ba52cbbe83ae69f","transaction_id":"fa723b62032aa127","parent_id":"fa723b62032aa127","trace_id":"d14d58267cb344fa7a55ab5075b14e77","subtype":"http","action":"GET","timestamp":1646055607551529,"duration":2159.073,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/2"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"7dc3249878afbea5","transaction_id":"944764eba6d8f831","parent_id":"944764eba6d8f831","trace_id":"18adef0b4ab8001cec10228f5fc1d621","subtype":"postgresql","action":"query","timestamp":1646055609762398,"duration":5.82,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"944764eba6d8f831","trace_id":"18adef0b4ab8001cec10228f5fc1d621","parent_id":"02a8c11adb101ec8","duration":32.255,"timestamp":1646055609750022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/266","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/266","full":"http://opbeans-node:3000/api/customers/266"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-18adef0b4ab8001cec10228f5fc1d621-02a8c11adb101ec8-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-18adef0b4ab8001cec10228f5fc1d621-02a8c11adb101ec8-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"185","etag":"W/\"b9-n1ir0JylD2Z9TVg+o6rEEe6+JCU\"","date":"Mon, 28 Feb 2022 13:40:09 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"5ce0fd90b77b47e7","trace_id":"0dc60ce000afaaf00bf86ad05c6bc590","parent_id":"5c8456f84e347999","duration":47.947,"timestamp":1646055609835069,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/504","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/504","full":"http://opbeans-node:3000/api/customers/504"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-0dc60ce000afaaf00bf86ad05c6bc590-5c8456f84e347999-01","elastic-apm-traceparent":"00-0dc60ce000afaaf00bf86ad05c6bc590-5c8456f84e347999-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"189","etag":"W/\"bd-fkJ1KkcEzGoFWGbKdsDWLtOV7qo\"","date":"Mon, 28 Feb 2022 13:40:09 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"6be575fdf7ee2eb5","transaction_id":"5ce0fd90b77b47e7","parent_id":"5ce0fd90b77b47e7","trace_id":"0dc60ce000afaaf00bf86ad05c6bc590","subtype":"postgresql","action":"query","timestamp":1646055609854155,"duration":12.966,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f3b032bfaa192e19","transaction_id":"ab3ef65e1b698189","parent_id":"ab3ef65e1b698189","trace_id":"910687aa13654b2136dfc69006e90d0b","subtype":"postgresql","action":"query","timestamp":1646055610026947,"duration":15.786,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"b82ba0535a02c006","transaction_id":"ab3ef65e1b698189","parent_id":"ab3ef65e1b698189","trace_id":"910687aa13654b2136dfc69006e90d0b","subtype":"postgresql","action":"query","timestamp":1646055610032032,"duration":17.981,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"56a2df4e5a5844d9","transaction_id":"ab3ef65e1b698189","parent_id":"ab3ef65e1b698189","trace_id":"910687aa13654b2136dfc69006e90d0b","subtype":"postgresql","action":"query","timestamp":1646055610035653,"duration":17.787,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"0d9f83be20715283","transaction_id":"ab3ef65e1b698189","parent_id":"ab3ef65e1b698189","trace_id":"910687aa13654b2136dfc69006e90d0b","subtype":"postgresql","action":"query","timestamp":1646055610097534,"duration":5.315,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"6a26cff90547fa3a","transaction_id":"ab3ef65e1b698189","parent_id":"ab3ef65e1b698189","trace_id":"910687aa13654b2136dfc69006e90d0b","subtype":"postgresql","action":"query","timestamp":1646055610106153,"duration":9.404,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"2ef99a061ca4bb0c","trace_id":"32a94eef3f9483702a50a2799efdc200","duration":65.634,"timestamp":1646055610071089,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3/customers","full":"http://opbeans-node:3000/api/products/3/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:10 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"ab3ef65e1b698189","trace_id":"910687aa13654b2136dfc69006e90d0b","parent_id":"040d9be4a391d103","duration":151.686,"timestamp":1646055610013042,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/stats","full":"http://opbeans-go:3000/api/stats"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-910687aa13654b2136dfc69006e90d0b-040d9be4a391d103-01","traceparent":"00-910687aa13654b2136dfc69006e90d0b-040d9be4a391d103-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:40:10 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"a14245b063ded717","transaction_id":"2ef99a061ca4bb0c","parent_id":"2ef99a061ca4bb0c","trace_id":"32a94eef3f9483702a50a2799efdc200","subtype":"http","action":"GET","timestamp":1646055610088466,"duration":37.258,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/3/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"4d47ead0ea83f9fa","transaction_id":"ab3ef65e1b698189","parent_id":"ab3ef65e1b698189","trace_id":"910687aa13654b2136dfc69006e90d0b","subtype":"postgresql","action":"query","timestamp":1646055610110122,"duration":37.633,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"3f6a4a7c72be68f3","transaction_id":"ab3ef65e1b698189","parent_id":"ab3ef65e1b698189","trace_id":"910687aa13654b2136dfc69006e90d0b","subtype":"postgresql","action":"query","timestamp":1646055610112534,"duration":40.484,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"1e57dd79c0e9a625","transaction_id":"db1f0209903fa88e","parent_id":"db1f0209903fa88e","trace_id":"17f11f99de73b0f56a513223acdff766","subtype":"postgresql","action":"query","timestamp":1646055610512786,"duration":6.824,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"db1f0209903fa88e","trace_id":"17f11f99de73b0f56a513223acdff766","parent_id":"bca806febdb76372","duration":56.408,"timestamp":1646055610501094,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-17f11f99de73b0f56a513223acdff766-bca806febdb76372-01","elastic-apm-traceparent":"00-17f11f99de73b0f56a513223acdff766-bca806febdb76372-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:10 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"88a8e4adef3b0dc2","transaction_id":"db1f0209903fa88e","parent_id":"db1f0209903fa88e","trace_id":"17f11f99de73b0f56a513223acdff766","subtype":"postgresql","action":"query","timestamp":1646055610521737,"duration":13.162,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ebf2dc7809dedb18","transaction_id":"db1f0209903fa88e","parent_id":"db1f0209903fa88e","trace_id":"17f11f99de73b0f56a513223acdff766","subtype":"postgresql","action":"query","timestamp":1646055610525716,"duration":13.953,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"1ce6a8aa4bf93446","transaction_id":"db1f0209903fa88e","parent_id":"db1f0209903fa88e","trace_id":"17f11f99de73b0f56a513223acdff766","subtype":"postgresql","action":"query","timestamp":1646055610528733,"duration":19.14,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"8708dbfefb37d1f8","trace_id":"f4b810296d45ac968577cf72f21063ac","duration":27.719,"timestamp":1646055610598017,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:40:10 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"387d72813105b675","transaction_id":"b895ccfb8da8541f","parent_id":"b895ccfb8da8541f","trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","subtype":"redis","action":null,"timestamp":1646055610701758,"duration":1.764,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"d035173112cdfce8","transaction_id":"b895ccfb8da8541f","parent_id":"b895ccfb8da8541f","trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","subtype":"postgresql","action":"query","timestamp":1646055610705006,"duration":4.122,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"b895ccfb8da8541f","trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","parent_id":"ac9c009027ce1c7d","duration":15.855,"timestamp":1646055610697019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products","full":"http://opbeans-go:3000/api/products"},"headers":{"host":"opbeans-go:3000","elastic-apm-traceparent":"00-2eff1445fb3b56e606f21ae8ed4b11e1-ac9c009027ce1c7d-01","traceparent":"00-2eff1445fb3b56e606f21ae8ed4b11e1-ac9c009027ce1c7d-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.10","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:40:10 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"81a1ac228e6525ff","trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","parent_id":"9f0c5a77e0470e22","duration":49.738,"timestamp":1646055610678028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-2eff1445fb3b56e606f21ae8ed4b11e1-9f0c5a77e0470e22-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-2eff1445fb3b56e606f21ae8ed4b11e1-9f0c5a77e0470e22-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"1023","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:10 GMT","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"a67b0d0af95e813c","transaction_id":"81a1ac228e6525ff","parent_id":"81a1ac228e6525ff","trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","subtype":"http","action":"GET","timestamp":1646055610685820,"duration":34.864,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"050557fd171ccfb6","trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","parent_id":"e4f3f2553062f9b0","duration":223.149,"timestamp":1646055610587020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products","full":"http://opbeans-go:3000/api/products"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-2eff1445fb3b56e606f21ae8ed4b11e1-e4f3f2553062f9b0-01","traceparent":"00-2eff1445fb3b56e606f21ae8ed4b11e1-e4f3f2553062f9b0-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:10 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"3f3c060e39da0ac6","transaction_id":"050557fd171ccfb6","parent_id":"050557fd171ccfb6","trace_id":"2eff1445fb3b56e606f21ae8ed4b11e1","subtype":"http","action":"GET","timestamp":1646055610592521,"duration":203.468,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"2304a5fd058c37c8","trace_id":"2dcfef8875c5a9aaffe1a48edd5d8441","parent_id":"640e6e2f6a16fdbc","duration":114.589,"timestamp":1646055610818090,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/400","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/400","full":"http://opbeans-node:3000/api/customers/400"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-2dcfef8875c5a9aaffe1a48edd5d8441-640e6e2f6a16fdbc-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-2dcfef8875c5a9aaffe1a48edd5d8441-640e6e2f6a16fdbc-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"182","etag":"W/\"b6-ZV3PaUijzdcSKknRYutlCNbRyu0\"","date":"Mon, 28 Feb 2022 13:40:10 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"22e255b3424d6519","transaction_id":"2304a5fd058c37c8","parent_id":"2304a5fd058c37c8","trace_id":"2dcfef8875c5a9aaffe1a48edd5d8441","subtype":"postgresql","action":"query","timestamp":1646055610875041,"duration":34.105,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"588d5f39b9999fad","transaction_id":"4974065e3d198d60","parent_id":"4974065e3d198d60","trace_id":"6951351afd20e23b92194ce6723263cb","subtype":"http","action":"GET","timestamp":1646055611099583,"duration":9.883,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"4974065e3d198d60","trace_id":"6951351afd20e23b92194ce6723263cb","parent_id":"d28aec36ed1620d5","duration":24.877,"timestamp":1646055611095019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-6951351afd20e23b92194ce6723263cb-d28aec36ed1620d5-01","elastic-apm-traceparent":"00-6951351afd20e23b92194ce6723263cb-d28aec36ed1620d5-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:11 GMT","content-length":"110","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"787d2b8b5ca81555","trace_id":"6951351afd20e23b92194ce6723263cb","duration":101.321,"timestamp":1646055611061034,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:11 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"110","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"c0c030bec06c434d","transaction_id":"787d2b8b5ca81555","parent_id":"787d2b8b5ca81555","trace_id":"6951351afd20e23b92194ce6723263cb","subtype":"http","action":"GET","timestamp":1646055611066338,"duration":83.831,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"72901219a05fd6f7","trace_id":"222e66d429a3334459f62fbd95e789fd","parent_id":"34313ce34b696bd7","duration":303.329,"timestamp":1646055611021030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-222e66d429a3334459f62fbd95e789fd-34313ce34b696bd7-01","elastic-apm-traceparent":"00-222e66d429a3334459f62fbd95e789fd-34313ce34b696bd7-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:11 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"2926","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"a683afd2e181799d","transaction_id":"72901219a05fd6f7","parent_id":"72901219a05fd6f7","trace_id":"222e66d429a3334459f62fbd95e789fd","subtype":"http","action":"GET","timestamp":1646055611038044,"duration":277.963,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"8edaff70c607f395","trace_id":"222e66d429a3334459f62fbd95e789fd","parent_id":"77928d5a3018879a","duration":413.982,"timestamp":1646055610959022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-222e66d429a3334459f62fbd95e789fd-77928d5a3018879a-01","elastic-apm-traceparent":"00-222e66d429a3334459f62fbd95e789fd-77928d5a3018879a-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:11 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"2926","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"000df3967f0789fc","transaction_id":"8edaff70c607f395","parent_id":"8edaff70c607f395","trace_id":"222e66d429a3334459f62fbd95e789fd","subtype":"http","action":"GET","timestamp":1646055610976751,"duration":391.35,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"0b96010d803db8dd","trace_id":"f3d719c9ad7996e5835642bd82cecd6c","duration":42.973,"timestamp":1646055611557026,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:40:11 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"e929a0cb473fde93","trace_id":"10c4037beeedb0045d1eb4117b4a787c","parent_id":"060b98a2f71e3e83","duration":66.375,"timestamp":1646055611983044,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/921","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/921","full":"http://opbeans-node:3000/api/customers/921"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-10c4037beeedb0045d1eb4117b4a787c-060b98a2f71e3e83-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-10c4037beeedb0045d1eb4117b4a787c-060b98a2f71e3e83-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"183","etag":"W/\"b7-uz3AejOULotQipyg4cTHuFU9YDs\"","date":"Mon, 28 Feb 2022 13:40:12 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"55011acf514ddb72","transaction_id":"e929a0cb473fde93","parent_id":"e929a0cb473fde93","trace_id":"10c4037beeedb0045d1eb4117b4a787c","subtype":"postgresql","action":"query","timestamp":1646055611999101,"duration":26.593,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"48150360fcbcd06b","transaction_id":"9c2a8fe5d20fb453","parent_id":"9c2a8fe5d20fb453","trace_id":"75f31d986f25494d2672c16694fb46df","subtype":"postgresql","action":"query","timestamp":1646055612098962,"duration":42.227,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"3a8b7920137f0c86","transaction_id":"9c2a8fe5d20fb453","parent_id":"9c2a8fe5d20fb453","trace_id":"75f31d986f25494d2672c16694fb46df","subtype":"postgresql","action":"query","timestamp":1646055612104201,"duration":40.419,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"0cebb05fe07254a1","transaction_id":"9c2a8fe5d20fb453","parent_id":"9c2a8fe5d20fb453","trace_id":"75f31d986f25494d2672c16694fb46df","subtype":"postgresql","action":"query","timestamp":1646055612115209,"duration":70.168,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"e5c608d38b9018e6","transaction_id":"9c2a8fe5d20fb453","parent_id":"9c2a8fe5d20fb453","trace_id":"75f31d986f25494d2672c16694fb46df","subtype":"postgresql","action":"query","timestamp":1646055612124226,"duration":113.011,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"9c2a8fe5d20fb453","trace_id":"75f31d986f25494d2672c16694fb46df","duration":291.741,"timestamp":1646055612078031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:40:12 GMT","connection":"close"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"db08084238ee8bf9","transaction_id":"9c2a8fe5d20fb453","parent_id":"9c2a8fe5d20fb453","trace_id":"75f31d986f25494d2672c16694fb46df","subtype":"postgresql","action":"query","timestamp":1646055612274073,"duration":23.986,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ee16d949cb18538a","transaction_id":"9c2a8fe5d20fb453","parent_id":"9c2a8fe5d20fb453","trace_id":"75f31d986f25494d2672c16694fb46df","subtype":"postgresql","action":"query","timestamp":1646055612262449,"duration":41.765,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"85e191ebb7d9a853","transaction_id":"9c2a8fe5d20fb453","parent_id":"9c2a8fe5d20fb453","trace_id":"75f31d986f25494d2672c16694fb46df","subtype":"postgresql","action":"query","timestamp":1646055612256266,"duration":75.116,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"b755809a810cf7f4","transaction_id":"fc18ac3d5d746c7e","parent_id":"fc18ac3d5d746c7e","trace_id":"b0200577f0c525f9627c71ecc19f5c6f","subtype":"postgresql","action":"query","timestamp":1646055612553045,"duration":7.105,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"0d8aab6eb40c2175","transaction_id":"fc18ac3d5d746c7e","parent_id":"fc18ac3d5d746c7e","trace_id":"b0200577f0c525f9627c71ecc19f5c6f","subtype":"postgresql","action":"query","timestamp":1646055612562202,"duration":7.651,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"dbab54367b1688ff","trace_id":"2a60c5e5894cd79cd3216e10795dab2f","parent_id":"72f4f7be02ee0c74","duration":109.151,"timestamp":1646055612493020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/69","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/69","full":"http://opbeans-node:3000/api/orders/69"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-2a60c5e5894cd79cd3216e10795dab2f-72f4f7be02ee0c74-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-2a60c5e5894cd79cd3216e10795dab2f-72f4f7be02ee0c74-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=UTF-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:12 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"fc18ac3d5d746c7e","trace_id":"b0200577f0c525f9627c71ecc19f5c6f","duration":90.394,"timestamp":1646055612548026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:12 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"28b5796aaac4e56b","transaction_id":"dbab54367b1688ff","parent_id":"dbab54367b1688ff","trace_id":"2a60c5e5894cd79cd3216e10795dab2f","subtype":"http","action":"GET","timestamp":1646055612501200,"duration":79.124,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-ruby:3000/api/orders/69"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"8067dc8805775624","transaction_id":"fc18ac3d5d746c7e","parent_id":"fc18ac3d5d746c7e","trace_id":"b0200577f0c525f9627c71ecc19f5c6f","subtype":"postgresql","action":"query","timestamp":1646055612565103,"duration":42.424,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"7a9d93a737876bb6","transaction_id":"fc18ac3d5d746c7e","parent_id":"fc18ac3d5d746c7e","trace_id":"b0200577f0c525f9627c71ecc19f5c6f","subtype":"postgresql","action":"query","timestamp":1646055612567068,"duration":65.782,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"4a2b62c9796e0732","transaction_id":"30617000493b0b65","parent_id":"30617000493b0b65","trace_id":"c490fe1ac3e3962b34b78578bb93c2a6","subtype":"postgresql","action":"query","timestamp":1646055612808675,"duration":3.641,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"30617000493b0b65","trace_id":"c490fe1ac3e3962b34b78578bb93c2a6","parent_id":"e8fa6c83c4b5a302","duration":19.655,"timestamp":1646055612800027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/450","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/450","full":"http://opbeans-node:3000/api/customers/450"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-c490fe1ac3e3962b34b78578bb93c2a6-e8fa6c83c4b5a302-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-c490fe1ac3e3962b34b78578bb93c2a6-e8fa6c83c4b5a302-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"180","etag":"W/\"b4-qo2IYFP/MyPsw1H9zxXRkT+ahPo\"","date":"Mon, 28 Feb 2022 13:40:12 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"4fdb2dc35136a6eb","trace_id":"7d4a2c7c20aa6d57a94877e086b1b918","duration":11.15,"timestamp":1646055613049026,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:40:13 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"9cedc71f93935ca4","transaction_id":"23fef4a00da5dbea","parent_id":"23fef4a00da5dbea","trace_id":"179bf385bddcf63b0606e90d209ab474","subtype":"redis","action":null,"timestamp":1646055613597616,"duration":21.542,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"stacktrace":[{"filename":"node_modules/redis/lib/commands.js","lineno":46,"function":"get","library_frame":true,"abs_path":"/app/node_modules/redis/lib/commands.js"},{"filename":"server/routes.js","lineno":217,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":["","app.get('/orders', function (req, res) {"],"context_line":" redis.get('orders', function (err, obj) {","post_context":[" if (err) apm.captureError(err)"," else if (obj) return res.json(obj)"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":137,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":112,"function":"dispatch","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":281,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":88,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":["app.use('/api', function (req, res, next) {"," if (Math.random() > opbeansRedirectProbability) {"],"context_line":" return next()","post_context":[" }",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"23fef4a00da5dbea","trace_id":"179bf385bddcf63b0606e90d209ab474","duration":171.775,"timestamp":1646055613571075,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:40:13 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"25fcdc14a5bde9c2","transaction_id":"23fef4a00da5dbea","parent_id":"23fef4a00da5dbea","trace_id":"179bf385bddcf63b0606e90d209ab474","subtype":"postgresql","action":"query","timestamp":1646055613655516,"duration":39.375,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ceeca4e622257821","transaction_id":"49604385ca271260","parent_id":"49604385ca271260","trace_id":"d020e987a7417dffac6908928a6ce1c6","subtype":"postgresql","action":"query","timestamp":1646055614171008,"duration":7.319,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"49604385ca271260","trace_id":"d020e987a7417dffac6908928a6ce1c6","parent_id":"6cd282badefdfd04","duration":28.304,"timestamp":1646055614158024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3","full":"http://opbeans-node:3000/api/products/3"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-d020e987a7417dffac6908928a6ce1c6-6cd282badefdfd04-01","elastic-apm-traceparent":"00-d020e987a7417dffac6908928a6ce1c6-6cd282badefdfd04-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"231","etag":"W/\"e7-kkuzj37GZDzXDh0CWqh5Gan0VO4\"","date":"Mon, 28 Feb 2022 13:40:14 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"cb0d255b6097dd4b","trace_id":"d020e987a7417dffac6908928a6ce1c6","duration":194.995,"timestamp":1646055614060026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3","full":"http://opbeans-node:3000/api/products/3"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:14 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"231","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"c4d77382aa4362a2","transaction_id":"cb0d255b6097dd4b","parent_id":"cb0d255b6097dd4b","trace_id":"d020e987a7417dffac6908928a6ce1c6","subtype":"http","action":"GET","timestamp":1646055614083523,"duration":150.502,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/3"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"165cebcaee8e91e8","transaction_id":"f28f0d1e02b14ca0","parent_id":"f28f0d1e02b14ca0","trace_id":"7093e608329ea335e76472ad4e830d8c","subtype":"postgresql","action":"query","timestamp":1646055614560440,"duration":26.003,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"fca6a83bcfe5eb51","transaction_id":"f28f0d1e02b14ca0","parent_id":"f28f0d1e02b14ca0","trace_id":"7093e608329ea335e76472ad4e830d8c","subtype":"postgresql","action":"query","timestamp":1646055614567126,"duration":30.354,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"664da6ff31dc2448","transaction_id":"f28f0d1e02b14ca0","parent_id":"f28f0d1e02b14ca0","trace_id":"7093e608329ea335e76472ad4e830d8c","subtype":"postgresql","action":"query","timestamp":1646055614575015,"duration":30.959,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"ea0cf6ce2ccf08ef","transaction_id":"f28f0d1e02b14ca0","parent_id":"f28f0d1e02b14ca0","trace_id":"7093e608329ea335e76472ad4e830d8c","subtype":"postgresql","action":"query","timestamp":1646055614582282,"duration":27.747,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"f28f0d1e02b14ca0","trace_id":"7093e608329ea335e76472ad4e830d8c","duration":183.604,"timestamp":1646055614552020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:40:14 GMT","connection":"close"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"90c5e50ce43bd303","transaction_id":"f28f0d1e02b14ca0","parent_id":"f28f0d1e02b14ca0","trace_id":"7093e608329ea335e76472ad4e830d8c","subtype":"postgresql","action":"query","timestamp":1646055614627819,"duration":38.378,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"e89a126a74f6d5c1","transaction_id":"f28f0d1e02b14ca0","parent_id":"f28f0d1e02b14ca0","trace_id":"7093e608329ea335e76472ad4e830d8c","subtype":"postgresql","action":"query","timestamp":1646055614618297,"duration":69.788,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"1680bd1bb89e1cfa","transaction_id":"f28f0d1e02b14ca0","parent_id":"f28f0d1e02b14ca0","trace_id":"7093e608329ea335e76472ad4e830d8c","subtype":"postgresql","action":"query","timestamp":1646055614615131,"duration":91.613,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"6bd6ea7b903425da","trace_id":"a1c2a5338942d3429cceed016107a414","duration":160.15,"timestamp":1646055615078055,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:15 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"186769","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"c149b0234cadbdef","transaction_id":"6bd6ea7b903425da","parent_id":"6bd6ea7b903425da","trace_id":"a1c2a5338942d3429cceed016107a414","subtype":"http","action":"GET","timestamp":1646055615101666,"duration":113.847,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"0062976ab1a95a27","transaction_id":"ca99ee6694e00a70","parent_id":"ca99ee6694e00a70","trace_id":"ee834b3d91e374c06f723c62220e6a21","subtype":"redis","action":null,"timestamp":1646055615581355,"duration":10.306,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"stacktrace":[{"filename":"node_modules/redis/lib/commands.js","lineno":46,"function":"get","library_frame":true,"abs_path":"/app/node_modules/redis/lib/commands.js"},{"filename":"server/routes.js","lineno":142,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":["","app.get('/types', function (req, res) {"],"context_line":" redis.get('types', function (err, obj) {","post_context":[" if (err) apm.captureError(err)"," else if (obj) return res.json(obj)"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":137,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":112,"function":"dispatch","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":281,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":88,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":["app.use('/api', function (req, res, next) {"," if (Math.random() > opbeansRedirectProbability) {"],"context_line":" return next()","post_context":[" }",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"ca99ee6694e00a70","trace_id":"ee834b3d91e374c06f723c62220e6a21","duration":105.393,"timestamp":1646055615565060,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:40:15 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"fa7ce039d251d55f","transaction_id":"ca99ee6694e00a70","parent_id":"ca99ee6694e00a70","trace_id":"ee834b3d91e374c06f723c62220e6a21","subtype":"postgresql","action":"query","timestamp":1646055615600581,"duration":48.175,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"00edbc392ee1fa8c","transaction_id":"1081fdbd36eb3e2e","parent_id":"1081fdbd36eb3e2e","trace_id":"7b9e7f637f2d55a42ac727d542fcddc1","subtype":"redis","action":null,"timestamp":1646055616155424,"duration":21.993,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"stacktrace":[{"filename":"node_modules/redis/lib/commands.js","lineno":46,"function":"get","library_frame":true,"abs_path":"/app/node_modules/redis/lib/commands.js"},{"filename":"server/routes.js","lineno":59,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":["","app.get('/products', function (req, res) {"],"context_line":" redis.get('products', function (err, obj) {","post_context":[" if (err) apm.captureError(err)"," else if (obj) return res.json(obj)"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":137,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":112,"function":"dispatch","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":281,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":88,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":["app.use('/api', function (req, res, next) {"," if (Math.random() > opbeansRedirectProbability) {"],"context_line":" return next()","post_context":[" }",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"1081fdbd36eb3e2e","trace_id":"7b9e7f637f2d55a42ac727d542fcddc1","duration":164.027,"timestamp":1646055616111048,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:40:16 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"fa5182008db42c4e","transaction_id":"1081fdbd36eb3e2e","parent_id":"1081fdbd36eb3e2e","trace_id":"7b9e7f637f2d55a42ac727d542fcddc1","subtype":"postgresql","action":"query","timestamp":1646055616201711,"duration":30.776,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /is-it-coffee-time","type":"request","result":"HTTP 5xx","id":"2c5dca9637127c36","trace_id":"c3df90c9df6d805786f8082b71d147f3","duration":73.596,"timestamp":1646055616574046,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/is-it-coffee-time","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/is-it-coffee-time","full":"http://opbeans-node:3000/is-it-coffee-time"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-security-policy":"default-src 'none'","x-content-type-options":"nosniff","content-type":"text/html; charset=utf-8","content-length":"148","date":"Mon, 28 Feb 2022 13:40:16 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"2615213c3fea1360","transaction_id":"491aef78b2cbcaf8","parent_id":"491aef78b2cbcaf8","trace_id":"d5d95a9c4885ebc688d11624db401158","subtype":"redis","action":null,"timestamp":1646055617191744,"duration":7.903,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"491aef78b2cbcaf8","trace_id":"d5d95a9c4885ebc688d11624db401158","duration":235.895,"timestamp":1646055617132082,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:40:17 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"2eb85795b347979d","transaction_id":"491aef78b2cbcaf8","parent_id":"491aef78b2cbcaf8","trace_id":"d5d95a9c4885ebc688d11624db401158","subtype":"postgresql","action":"query","timestamp":1646055617218196,"duration":88.662,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"68d5ab2e8d989d16","trace_id":"77988a6b477747082f41addf46983759","parent_id":"c21b1ed8975b25a9","duration":225.071,"timestamp":1646055617237381,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:17 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"65e6187946ba6925","transaction_id":"b51b5e7cdf49e596","parent_id":"b51b5e7cdf49e596","trace_id":"5587fd67ed111c59c4b0fbac6c23dddd","subtype":"postgresql","action":"query","timestamp":1646055617590122,"duration":63.037,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"3ac6c7a8b8532cf7","transaction_id":"b51b5e7cdf49e596","parent_id":"b51b5e7cdf49e596","trace_id":"5587fd67ed111c59c4b0fbac6c23dddd","subtype":"postgresql","action":"query","timestamp":1646055617600395,"duration":68.35,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"a16437add7e2b7bb","transaction_id":"b51b5e7cdf49e596","parent_id":"b51b5e7cdf49e596","trace_id":"5587fd67ed111c59c4b0fbac6c23dddd","subtype":"postgresql","action":"query","timestamp":1646055617616693,"duration":124.218,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"9d1383a9cb7203c7","transaction_id":"b51b5e7cdf49e596","parent_id":"b51b5e7cdf49e596","trace_id":"5587fd67ed111c59c4b0fbac6c23dddd","subtype":"postgresql","action":"query","timestamp":1646055617635355,"duration":134.647,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"29a9e1ab28ca1c99","transaction_id":"b51b5e7cdf49e596","parent_id":"b51b5e7cdf49e596","trace_id":"5587fd67ed111c59c4b0fbac6c23dddd","subtype":"postgresql","action":"query","timestamp":1646055617803695,"duration":7.563,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"b51b5e7cdf49e596","trace_id":"5587fd67ed111c59c4b0fbac6c23dddd","duration":248.784,"timestamp":1646055617575023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:40:17 GMT","connection":"close"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f68ce6b6e6f14520","transaction_id":"b51b5e7cdf49e596","parent_id":"b51b5e7cdf49e596","trace_id":"5587fd67ed111c59c4b0fbac6c23dddd","subtype":"postgresql","action":"query","timestamp":1646055617800725,"duration":12.741,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"9408c41889380c56","transaction_id":"b51b5e7cdf49e596","parent_id":"b51b5e7cdf49e596","trace_id":"5587fd67ed111c59c4b0fbac6c23dddd","subtype":"postgresql","action":"query","timestamp":1646055617783903,"duration":32.283,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"03dc831863894689","trace_id":"1646545e65700f3274e847226ed2dc4d","duration":35.271,"timestamp":1646055618072026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:18 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"1353d5ae23bc29d3","transaction_id":"03dc831863894689","parent_id":"03dc831863894689","trace_id":"1646545e65700f3274e847226ed2dc4d","subtype":"http","action":"GET","timestamp":1646055618083729,"duration":18.953,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"6cc991e06bb7db67","transaction_id":"c1c14e21f9903c48","parent_id":"c1c14e21f9903c48","trace_id":"48009750c6ea64add1c7f794b0f5a36f","subtype":"postgresql","action":"query","timestamp":1646055618618317,"duration":8.631,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"c1c14e21f9903c48","trace_id":"48009750c6ea64add1c7f794b0f5a36f","duration":79.545,"timestamp":1646055618605034,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:18 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ba3357636644fab7","transaction_id":"c1c14e21f9903c48","parent_id":"c1c14e21f9903c48","trace_id":"48009750c6ea64add1c7f794b0f5a36f","subtype":"postgresql","action":"query","timestamp":1646055618635461,"duration":19.424,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"6c41ad4cc4c3be03","transaction_id":"c1c14e21f9903c48","parent_id":"c1c14e21f9903c48","trace_id":"48009750c6ea64add1c7f794b0f5a36f","subtype":"postgresql","action":"query","timestamp":1646055618641774,"duration":22.018,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"8775917fe04391b0","transaction_id":"c1c14e21f9903c48","parent_id":"c1c14e21f9903c48","trace_id":"48009750c6ea64add1c7f794b0f5a36f","subtype":"postgresql","action":"query","timestamp":1646055618647169,"duration":24.426,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-error","type":"request","result":"HTTP 5xx","id":"9a140ca271dcb6f7","trace_id":"57cac0fb11e75b5a48855c6ef58444cd","duration":54.532,"timestamp":1646055619068021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-error","full":"http://opbeans-node:3000/log-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:40:19 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"d8aa1806dc56121f","trace_id":"1dc39a0ec19e7bdd94ea25b5c3e2d05f","duration":20.829,"timestamp":1646055619579023,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:40:19 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"9726504df14ccc85","trace_id":"cf203921590d1ff478d37a6e95a42b80","duration":140.912,"timestamp":1646055620089032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/89","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/89","full":"http://opbeans-node:3000/api/orders/89"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:20 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"4dfa78cd7892d249","transaction_id":"9726504df14ccc85","parent_id":"9726504df14ccc85","trace_id":"cf203921590d1ff478d37a6e95a42b80","subtype":"http","action":"GET","timestamp":1646055620103196,"duration":102.813,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/orders/89"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"bee5131c2cefdb89","trace_id":"6c41145d32462053a959efd695760359","parent_id":"5b9834e527cb628b","duration":55.318,"timestamp":1646055620498028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/1","full":"http://opbeans-node:3000/api/types/1"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-6c41145d32462053a959efd695760359-5b9834e527cb628b-01","elastic-apm-traceparent":"00-6c41145d32462053a959efd695760359-5b9834e527cb628b-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:20 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"233","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"1fb5ea4311d18e12","transaction_id":"bee5131c2cefdb89","parent_id":"bee5131c2cefdb89","trace_id":"6c41145d32462053a959efd695760359","subtype":"http","action":"GET","timestamp":1646055620509976,"duration":39.11,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types/1"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"f919feeb95832d75","transaction_id":"6bed39e312d20177","parent_id":"6bed39e312d20177","trace_id":"2b0424e928c348b0548624baaaff2c3f","subtype":"postgresql","action":"query","timestamp":1646055620648424,"duration":9.196,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"6bed39e312d20177","trace_id":"2b0424e928c348b0548624baaaff2c3f","parent_id":"961c808aa0fcd249","duration":35.965,"timestamp":1646055620641042,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/6/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/6/customers","full":"http://opbeans-node:3000/api/products/6/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-2b0424e928c348b0548624baaaff2c3f-961c808aa0fcd249-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-2b0424e928c348b0548624baaaff2c3f-961c808aa0fcd249-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:40:20 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"2c17164be149482d","trace_id":"98390d0115fcd940e41a7aeb7851644e","parent_id":"e9fbccfb45817617","duration":56.575,"timestamp":1646055620820109,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/top","full":"http://opbeans-go:3000/api/products/top"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-98390d0115fcd940e41a7aeb7851644e-e9fbccfb45817617-01","traceparent":"00-98390d0115fcd940e41a7aeb7851644e-e9fbccfb45817617-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:20 GMT","content-length":"403","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"3822cfb4cd27c00d","transaction_id":"2c17164be149482d","parent_id":"2c17164be149482d","trace_id":"98390d0115fcd940e41a7aeb7851644e","subtype":"http","action":"GET","timestamp":1646055620830626,"duration":21.77,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"514291473b6628f5","transaction_id":"a9c6a217511c18a1","parent_id":"a9c6a217511c18a1","trace_id":"fc9859fc3eb3ad0fbc73b071d57e0c30","subtype":"postgresql","action":"query","timestamp":1646055620961559,"duration":9.211,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"9f6708b52a2b192a","transaction_id":"a9c6a217511c18a1","parent_id":"a9c6a217511c18a1","trace_id":"fc9859fc3eb3ad0fbc73b071d57e0c30","subtype":"postgresql","action":"query","timestamp":1646055620976356,"duration":8.868,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"af36800a2c4e952a","transaction_id":"a9c6a217511c18a1","parent_id":"a9c6a217511c18a1","trace_id":"fc9859fc3eb3ad0fbc73b071d57e0c30","subtype":"postgresql","action":"query","timestamp":1646055620979122,"duration":8.166,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"581e81033d6b8d74","transaction_id":"a9c6a217511c18a1","parent_id":"a9c6a217511c18a1","trace_id":"fc9859fc3eb3ad0fbc73b071d57e0c30","subtype":"postgresql","action":"query","timestamp":1646055620982062,"duration":6.819,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"a9c6a217511c18a1","trace_id":"fc9859fc3eb3ad0fbc73b071d57e0c30","parent_id":"ac8ba459344c4728","duration":72.755,"timestamp":1646055620929038,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/top","full":"http://opbeans-go:3000/api/products/top"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-fc9859fc3eb3ad0fbc73b071d57e0c30-ac8ba459344c4728-01","traceparent":"00-fc9859fc3eb3ad0fbc73b071d57e0c30-ac8ba459344c4728-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:20 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"8a1b2f2ebc95f16c","transaction_id":"e65d070541c36baa","parent_id":"e65d070541c36baa","trace_id":"8815c6da372e8e898c12149653fbb38b","subtype":"postgresql","action":"query","timestamp":1646055621086155,"duration":21.575,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"e65d070541c36baa","trace_id":"8815c6da372e8e898c12149653fbb38b","parent_id":"87b70cf624c5dae7","duration":114.603,"timestamp":1646055621060047,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/3","full":"http://opbeans-go:3000/api/types/3"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-8815c6da372e8e898c12149653fbb38b-87b70cf624c5dae7-01","traceparent":"00-8815c6da372e8e898c12149653fbb38b-87b70cf624c5dae7-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"189","etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","date":"Mon, 28 Feb 2022 13:40:21 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"5b728a5d77d5d27b","transaction_id":"e65d070541c36baa","parent_id":"e65d070541c36baa","trace_id":"8815c6da372e8e898c12149653fbb38b","subtype":"postgresql","action":"query","timestamp":1646055621120722,"duration":42.694,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"8cd70c126fd4d340","trace_id":"0863c016064342eaceb007fc21aeef0c","duration":388.596,"timestamp":1646055621128030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:21 GMT","connection":"close","transfer-encoding":"chunked","content-type":"application/json","x-frame-options":"DENY","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"64c62b832d2606af","transaction_id":"8cd70c126fd4d340","parent_id":"8cd70c126fd4d340","trace_id":"0863c016064342eaceb007fc21aeef0c","subtype":"http","action":"GET","timestamp":1646055621151019,"duration":356.155,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"27fb88ac276cd5d9","trace_id":"4aba37163e73f9d8ff7932893738fc07","parent_id":"5312806ed6391f99","duration":87.326,"timestamp":1646055621482022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-4aba37163e73f9d8ff7932893738fc07-5312806ed6391f99-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-4aba37163e73f9d8ff7932893738fc07-5312806ed6391f99-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:21 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"123","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"e4b9b45c0e43f074","transaction_id":"27fb88ac276cd5d9","parent_id":"27fb88ac276cd5d9","trace_id":"4aba37163e73f9d8ff7932893738fc07","subtype":"http","action":"GET","timestamp":1646055621492369,"duration":64.318,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"740e13141b209d69","transaction_id":"8636835682ce691d","parent_id":"8636835682ce691d","trace_id":"a7e33dde4ea156ad553ba5ab8ea9f550","subtype":"postgresql","action":"query","timestamp":1646055621588543,"duration":4.103,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"8636835682ce691d","trace_id":"a7e33dde4ea156ad553ba5ab8ea9f550","duration":42.372,"timestamp":1646055621583020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:21 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"0ff26ac79af1cd28","transaction_id":"8636835682ce691d","parent_id":"8636835682ce691d","trace_id":"a7e33dde4ea156ad553ba5ab8ea9f550","subtype":"postgresql","action":"query","timestamp":1646055621594465,"duration":12.851,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"b8109f54b76f406b","transaction_id":"8636835682ce691d","parent_id":"8636835682ce691d","trace_id":"a7e33dde4ea156ad553ba5ab8ea9f550","subtype":"postgresql","action":"query","timestamp":1646055621596612,"duration":13.37,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"0f60b43c6bdecadf","transaction_id":"8636835682ce691d","parent_id":"8636835682ce691d","trace_id":"a7e33dde4ea156ad553ba5ab8ea9f550","subtype":"postgresql","action":"query","timestamp":1646055621598945,"duration":13.714,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"d412781956ee0cbc","transaction_id":"a274079eb00bc16b","parent_id":"a274079eb00bc16b","trace_id":"537ec289ca25bde8730cb132c04f28fb","subtype":"postgresql","action":"query","timestamp":1646055621658960,"duration":22.581,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"c3c3488a24b8c0fe","transaction_id":"a274079eb00bc16b","parent_id":"a274079eb00bc16b","trace_id":"537ec289ca25bde8730cb132c04f28fb","subtype":"postgresql","action":"query","timestamp":1646055621664604,"duration":25.004,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"1bef39e75718fabc","transaction_id":"a274079eb00bc16b","parent_id":"a274079eb00bc16b","trace_id":"537ec289ca25bde8730cb132c04f28fb","subtype":"postgresql","action":"query","timestamp":1646055621669163,"duration":24.436,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"3e90bc5e0601bfaa","transaction_id":"a274079eb00bc16b","parent_id":"a274079eb00bc16b","trace_id":"537ec289ca25bde8730cb132c04f28fb","subtype":"postgresql","action":"query","timestamp":1646055621675056,"duration":22.764,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"d23a99b0fcb44337","transaction_id":"a274079eb00bc16b","parent_id":"a274079eb00bc16b","trace_id":"537ec289ca25bde8730cb132c04f28fb","subtype":"postgresql","action":"query","timestamp":1646055621704988,"duration":4.376,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"1f2d8482c9311ccc","transaction_id":"a274079eb00bc16b","parent_id":"a274079eb00bc16b","trace_id":"537ec289ca25bde8730cb132c04f28fb","subtype":"postgresql","action":"query","timestamp":1646055621702967,"duration":8.085,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"a274079eb00bc16b","trace_id":"537ec289ca25bde8730cb132c04f28fb","parent_id":"42c248f3ab6f1f6d","duration":73.184,"timestamp":1646055621646025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-537ec289ca25bde8730cb132c04f28fb-42c248f3ab6f1f6d-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-537ec289ca25bde8730cb132c04f28fb-42c248f3ab6f1f6d-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:40:21 GMT","connection":"close"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ef631fbe0c1a6405","transaction_id":"a274079eb00bc16b","parent_id":"a274079eb00bc16b","trace_id":"537ec289ca25bde8730cb132c04f28fb","subtype":"postgresql","action":"query","timestamp":1646055621700329,"duration":12.221,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"0b28b3e4b1e6ffb6","transaction_id":"46b0203918d45889","parent_id":"46b0203918d45889","trace_id":"b5f22f8c45e5c90dab81cccace18ba52","subtype":"postgresql","action":"query","timestamp":1646055621878957,"duration":19.194,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"e01f64a6b17a4ce7","transaction_id":"46b0203918d45889","parent_id":"46b0203918d45889","trace_id":"b5f22f8c45e5c90dab81cccace18ba52","subtype":"postgresql","action":"query","timestamp":1646055621887188,"duration":14.038,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"b433eb64e5e6c3ae","transaction_id":"46b0203918d45889","parent_id":"46b0203918d45889","trace_id":"b5f22f8c45e5c90dab81cccace18ba52","subtype":"postgresql","action":"query","timestamp":1646055621890054,"duration":14.268,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"98892d8ed21a514b","transaction_id":"46b0203918d45889","parent_id":"46b0203918d45889","trace_id":"b5f22f8c45e5c90dab81cccace18ba52","subtype":"postgresql","action":"query","timestamp":1646055621892238,"duration":15.197,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"b8258ab5cf1e2ee3","transaction_id":"46b0203918d45889","parent_id":"46b0203918d45889","trace_id":"b5f22f8c45e5c90dab81cccace18ba52","subtype":"postgresql","action":"query","timestamp":1646055621915419,"duration":5.56,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"46b0203918d45889","trace_id":"b5f22f8c45e5c90dab81cccace18ba52","parent_id":"798201af37db34a5","duration":78.534,"timestamp":1646055621865037,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/stats","full":"http://opbeans-go:3000/api/stats"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-b5f22f8c45e5c90dab81cccace18ba52-798201af37db34a5-01","traceparent":"00-b5f22f8c45e5c90dab81cccace18ba52-798201af37db34a5-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:40:21 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ba873168de19720c","transaction_id":"46b0203918d45889","parent_id":"46b0203918d45889","trace_id":"b5f22f8c45e5c90dab81cccace18ba52","subtype":"postgresql","action":"query","timestamp":1646055621912937,"duration":16.396,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"1814822cbc1a2d18","transaction_id":"46b0203918d45889","parent_id":"46b0203918d45889","trace_id":"b5f22f8c45e5c90dab81cccace18ba52","subtype":"postgresql","action":"query","timestamp":1646055621909952,"duration":25.848,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b2436d36ead19438","trace_id":"748be509ff016226cc76123fc0590098","parent_id":"a3b0c83a1b1acc9d","duration":27.456,"timestamp":1646055621960018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/2","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/2","full":"http://opbeans-go:3000/api/types/2"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-748be509ff016226cc76123fc0590098-a3b0c83a1b1acc9d-01","traceparent":"00-748be509ff016226cc76123fc0590098-a3b0c83a1b1acc9d-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:21 GMT","content-length":"37","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"d6e11055e987ae07","transaction_id":"b2436d36ead19438","parent_id":"b2436d36ead19438","trace_id":"748be509ff016226cc76123fc0590098","subtype":"http","action":"GET","timestamp":1646055621965804,"duration":13.477,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types/2"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"877556dbdf22f04b","trace_id":"d78cb9161389d0fe7b52ff2382991245","duration":20.649,"timestamp":1646055622079020,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:40:22 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"e66a56a795c02e2f","transaction_id":"c0732bb4ef6a4451","parent_id":"c0732bb4ef6a4451","trace_id":"17fb8a91c49b96910b5e90cffc176bb4","subtype":"redis","action":null,"timestamp":1646055622263278,"duration":2.318,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"6e1b16bdd5dd8678","transaction_id":"c0732bb4ef6a4451","parent_id":"c0732bb4ef6a4451","trace_id":"17fb8a91c49b96910b5e90cffc176bb4","subtype":"postgresql","action":"query","timestamp":1646055622282367,"duration":223.204,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"c0732bb4ef6a4451","trace_id":"17fb8a91c49b96910b5e90cffc176bb4","parent_id":"1a7805fcb7e84d36","duration":309.331,"timestamp":1646055622256043,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers","full":"http://opbeans-go:3000/api/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-17fb8a91c49b96910b5e90cffc176bb4-1a7805fcb7e84d36-01","traceparent":"00-17fb8a91c49b96910b5e90cffc176bb4-1a7805fcb7e84d36-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:40:22 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /throw-error","type":"request","result":"HTTP 5xx","id":"86199f7b7fad9e88","trace_id":"a77add7e3b3dac858ec4d26cc0fb5fa4","duration":17.81,"timestamp":1646055622617025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/throw-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/throw-error","full":"http://opbeans-node:3000/throw-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-security-policy":"default-src 'none'","x-content-type-options":"nosniff","content-type":"text/html; charset=utf-8","content-length":"148","date":"Mon, 28 Feb 2022 13:40:22 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"6fa6e92c43b57d85","transaction_id":"2fdf9ddde31d660b","parent_id":"2fdf9ddde31d660b","trace_id":"0d49d9445dffbda3a0f37ecb725c2a37","subtype":"postgresql","action":"query","timestamp":1646055622682872,"duration":6.156,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"2fdf9ddde31d660b","trace_id":"0d49d9445dffbda3a0f37ecb725c2a37","parent_id":"3316680a69961555","duration":66.337,"timestamp":1646055622676032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-0d49d9445dffbda3a0f37ecb725c2a37-3316680a69961555-01","elastic-apm-traceparent":"00-0d49d9445dffbda3a0f37ecb725c2a37-3316680a69961555-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:22 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"edb082394537552a","transaction_id":"2fdf9ddde31d660b","parent_id":"2fdf9ddde31d660b","trace_id":"0d49d9445dffbda3a0f37ecb725c2a37","subtype":"postgresql","action":"query","timestamp":1646055622694247,"duration":12.071,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f96cf9e9a214170d","transaction_id":"2fdf9ddde31d660b","parent_id":"2fdf9ddde31d660b","trace_id":"0d49d9445dffbda3a0f37ecb725c2a37","subtype":"postgresql","action":"query","timestamp":1646055622699113,"duration":12.729,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"b9ebfcaba0b4a6f9","transaction_id":"2fdf9ddde31d660b","parent_id":"2fdf9ddde31d660b","trace_id":"0d49d9445dffbda3a0f37ecb725c2a37","subtype":"postgresql","action":"query","timestamp":1646055622701702,"duration":23.299,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"4c195d5ff472b4fa","trace_id":"f63e5da27de30558d826e55e5895bd78","parent_id":"b9db487008049b06","duration":79.157,"timestamp":1646055622834028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/9864","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/9864","full":"http://opbeans-node:3000/api/customers/9864"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-f63e5da27de30558d826e55e5895bd78-b9db487008049b06-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-f63e5da27de30558d826e55e5895bd78-b9db487008049b06-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-type":"text/plain","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:22 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"32a52c232b049f06","transaction_id":"4c195d5ff472b4fa","parent_id":"4c195d5ff472b4fa","trace_id":"f63e5da27de30558d826e55e5895bd78","subtype":"http","action":"GET","timestamp":1646055622847377,"duration":54.719,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-ruby:3000/api/customers/9864"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"21d3b23d0c00a28c","transaction_id":"ab35ad290b1a9e28","parent_id":"ab35ad290b1a9e28","trace_id":"ef03b3f7518e00440f2afc7bf1340494","subtype":"redis","action":null,"timestamp":1646055623090479,"duration":5.555,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"d6db5d3a5eda6a57","transaction_id":"ab35ad290b1a9e28","parent_id":"ab35ad290b1a9e28","trace_id":"ef03b3f7518e00440f2afc7bf1340494","subtype":"postgresql","action":"query","timestamp":1646055623118257,"duration":9.709,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"ab35ad290b1a9e28","trace_id":"ef03b3f7518e00440f2afc7bf1340494","parent_id":"2846d8b0b507938f","duration":60.524,"timestamp":1646055623076027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders","full":"http://opbeans-go:3000/api/orders"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","accept-encoding":"gzip","elastic-apm-traceparent":"00-ef03b3f7518e00440f2afc7bf1340494-2846d8b0b507938f-01","traceparent":"00-ef03b3f7518e00440f2afc7bf1340494-2846d8b0b507938f-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12, 172.23.0.9, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:40:23 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"445f084a991c983d","trace_id":"496bbcb1c7bb1b219d54d288b49b9de5","parent_id":"db4e949bb0317b2b","duration":46.114,"timestamp":1646055623121018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:23 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"c82b776ea0a5f4d7","trace_id":"e51de1fa866946b6ac3f0d7fa2d5912e","duration":76.044,"timestamp":1646055623591037,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"54196c2d-fa50-4172-8068-b269a0b8bc08","x-runtime":"0.020304","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:23 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"3cd424f9e7acc706","transaction_id":"c82b776ea0a5f4d7","parent_id":"c82b776ea0a5f4d7","trace_id":"e51de1fa866946b6ac3f0d7fa2d5912e","subtype":"http","action":"GET","timestamp":1646055623610720,"duration":50.493,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"6a1bc383a403a5e4","trace_id":"ed864fe010a198d37fe552f72627ce17","duration":127.583,"timestamp":1646055624096030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/473","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/473","full":"http://opbeans-node:3000/api/orders/473"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=UTF-8","x-request-id":"fe41802b-4049-42be-af8d-82b445ce30f8","x-runtime":"0.065351","connection":"close","content-length":"1722","date":"Mon, 28 Feb 2022 13:40:24 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"b63cda195d624bb9","transaction_id":"6a1bc383a403a5e4","parent_id":"6a1bc383a403a5e4","trace_id":"ed864fe010a198d37fe552f72627ce17","subtype":"http","action":"GET","timestamp":1646055624101231,"duration":107.537,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-ruby:3000/api/orders/473"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /log-error","type":"request","result":"HTTP 5xx","id":"03a9f8640b7a8bd4","trace_id":"05034e201376d396f6171443a335b201","duration":75.052,"timestamp":1646055624588018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-error","full":"http://opbeans-node:3000/log-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:40:24 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"98cbafa8eb169d1b","trace_id":"4a3d22b6b8cfc07764055423b76d1196","duration":25.933,"timestamp":1646055625095041,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:40:25 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"5046e7e9631602f2","trace_id":"2d77f7e2ab93cff32be9d16760e40322","parent_id":"fff3dd395967c5d3","duration":34.988,"timestamp":1646055625606035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:25 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"1e3c13ff15bd97b1","trace_id":"dbe18a0f242bf39f5a8180499cc15c86","parent_id":"ee531fb9022b66ab","duration":14.288,"timestamp":1646055626089019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:26 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"369bc57fc689213d","trace_id":"5bfa892fe5b29957677dc341cc40b793","duration":49.001,"timestamp":1646055626590019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5/customers","full":"http://opbeans-node:3000/api/products/5/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:40:26 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"cb1464642fb1a31b","transaction_id":"369bc57fc689213d","parent_id":"369bc57fc689213d","trace_id":"5bfa892fe5b29957677dc341cc40b793","subtype":"postgresql","action":"query","timestamp":1646055626601482,"duration":17.785,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /throw-error","type":"request","result":"HTTP 5xx","id":"d1637ffd3a108ee5","trace_id":"3ed5debdda643aa9b9d1c15c35825a1f","duration":13.482,"timestamp":1646055627090032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/throw-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/throw-error","full":"http://opbeans-node:3000/throw-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-security-policy":"default-src 'none'","x-content-type-options":"nosniff","content-type":"text/html; charset=utf-8","content-length":"148","date":"Mon, 28 Feb 2022 13:40:27 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"97a70f96719a801b","trace_id":"e4fd236f1cd04f47fa5125735329809f","duration":6616.488,"timestamp":1646055620573030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:27 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"108580","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"705991c9061ee218","transaction_id":"97a70f96719a801b","parent_id":"97a70f96719a801b","trace_id":"e4fd236f1cd04f47fa5125735329809f","subtype":"http","action":"GET","timestamp":1646055620588216,"duration":6588.018,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"0c8497b641e6f47c","trace_id":"d2dc225176e72194bac6b22f571b48e2","parent_id":"60f2c37e5362f9a3","duration":14.739,"timestamp":1646055627561025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:27 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"babb8b0f799e0ac0","trace_id":"8ad18de79e9714216313e96693a3b82d","duration":39.075,"timestamp":1646055627598020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:27 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"d71f0849efa8e8e2","transaction_id":"babb8b0f799e0ac0","parent_id":"babb8b0f799e0ac0","trace_id":"8ad18de79e9714216313e96693a3b82d","subtype":"http","action":"GET","timestamp":1646055627603296,"duration":23.684,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"d5cfaa0c135fb51f","transaction_id":"0647969486ead148","parent_id":"0647969486ead148","trace_id":"e147335d1913c3c143c0ba9417dc548b","subtype":"redis","action":null,"timestamp":1646055628111684,"duration":5.361,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"0647969486ead148","trace_id":"e147335d1913c3c143c0ba9417dc548b","duration":52.088,"timestamp":1646055628091033,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:40:28 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"4038ce4504849479","transaction_id":"0647969486ead148","parent_id":"0647969486ead148","trace_id":"e147335d1913c3c143c0ba9417dc548b","subtype":"postgresql","action":"query","timestamp":1646055628122034,"duration":12.342,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"Fetch package status for all orders","type":"custom","id":"f40ae43aa8d77ab0","transaction_id":"00330fcfc43d0ed2","parent_id":"00330fcfc43d0ed2","trace_id":"19dad93871d5c8ddc0b6c3d2c53b8bd8","subtype":null,"action":null,"timestamp":1646055627827726,"duration":733.4,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":43,"function":"updateShippingStatus","library_frame":false,"abs_path":"/app/worker.js","pre_context":[""," apm.startTransaction('Update shipping status', 'Worker')"],"context_line":" performSubTasks(['Fetch package status for all orders', 'Send tracking emails'], function () {","post_context":[" apm.endTransaction()"," queue(updateShippingStatus)"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"3919e6fad94eede4","transaction_id":"668fdd440b2fdcd1","parent_id":"668fdd440b2fdcd1","trace_id":"924a7d06465e44d4adae8f9f5c8655e4","subtype":"postgresql","action":"query","timestamp":1646055628604953,"duration":3.884,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"668fdd440b2fdcd1","trace_id":"924a7d06465e44d4adae8f9f5c8655e4","duration":48.602,"timestamp":1646055628597029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:28 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"a6555742ec06c5e7","transaction_id":"668fdd440b2fdcd1","parent_id":"668fdd440b2fdcd1","trace_id":"924a7d06465e44d4adae8f9f5c8655e4","subtype":"postgresql","action":"query","timestamp":1646055628610293,"duration":12.845,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"62b807bce0a59f9f","transaction_id":"668fdd440b2fdcd1","parent_id":"668fdd440b2fdcd1","trace_id":"924a7d06465e44d4adae8f9f5c8655e4","subtype":"postgresql","action":"query","timestamp":1646055628612908,"duration":17.344,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"0772b3aec6b29c4d","transaction_id":"668fdd440b2fdcd1","parent_id":"668fdd440b2fdcd1","trace_id":"924a7d06465e44d4adae8f9f5c8655e4","subtype":"postgresql","action":"query","timestamp":1646055628619119,"duration":14.022,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"47b85477ae21cbe7","transaction_id":"cc951c957f04d5b7","parent_id":"cc951c957f04d5b7","trace_id":"f4bac2d6e1d3c835b11411f5b26a52da","subtype":"redis","action":null,"timestamp":1646055629109535,"duration":2.186,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"cc951c957f04d5b7","trace_id":"f4bac2d6e1d3c835b11411f5b26a52da","duration":42.779,"timestamp":1646055629095579,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:40:29 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"ec24e0c7392d4bcf","transaction_id":"cc951c957f04d5b7","parent_id":"cc951c957f04d5b7","trace_id":"f4bac2d6e1d3c835b11411f5b26a52da","subtype":"postgresql","action":"query","timestamp":1646055629114432,"duration":12.112,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"Update shipping status","type":"Worker","result":"success","id":"00330fcfc43d0ed2","trace_id":"19dad93871d5c8ddc0b6c3d2c53b8bd8","duration":1666.362,"timestamp":1646055627818045,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{}},"span_count":{"started":2},"outcome":"unknown","sample_rate":1}} +{"span":{"name":"Send tracking emails","type":"custom","id":"a0c0ae5104286896","transaction_id":"00330fcfc43d0ed2","parent_id":"00330fcfc43d0ed2","trace_id":"19dad93871d5c8ddc0b6c3d2c53b8bd8","subtype":null,"action":null,"timestamp":1646055628587954,"duration":883.694,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":55,"function":"Timeout._onTimeout","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"],"context_line":" performSubTasks(tasks, cb)","post_context":[" }, Math.random() * 20).unref()"," })"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"4d9b163d80974ee5","transaction_id":"e8a594c6fa5d031b","parent_id":"e8a594c6fa5d031b","trace_id":"1ba19057b97f62456ebce1bdfb074be2","subtype":"redis","action":null,"timestamp":1646055629551183,"duration":1.806,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"607511e5b99fcda5","transaction_id":"e8a594c6fa5d031b","parent_id":"e8a594c6fa5d031b","trace_id":"1ba19057b97f62456ebce1bdfb074be2","subtype":"postgresql","action":"query","timestamp":1646055629558208,"duration":3.247,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"e8a594c6fa5d031b","trace_id":"1ba19057b97f62456ebce1bdfb074be2","parent_id":"a611499b1ea192ca","duration":19.738,"timestamp":1646055629546020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-1ba19057b97f62456ebce1bdfb074be2-a611499b1ea192ca-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-1ba19057b97f62456ebce1bdfb074be2-a611499b1ea192ca-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:40:29 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"23d2cfb3a0f292a7","transaction_id":"cbaef021685d94b2","parent_id":"cbaef021685d94b2","trace_id":"a5baf91b39ebd2b596db5700ce4f57c5","subtype":"postgresql","action":"query","timestamp":1646055629731007,"duration":8.463,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"76c8f87bb57bb700","transaction_id":"cbaef021685d94b2","parent_id":"cbaef021685d94b2","trace_id":"a5baf91b39ebd2b596db5700ce4f57c5","subtype":"postgresql","action":"query","timestamp":1646055629744720,"duration":6.64,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"cbaef021685d94b2","trace_id":"a5baf91b39ebd2b596db5700ce4f57c5","parent_id":"f2eae8d5706a8ee5","duration":44.633,"timestamp":1646055629717021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/1","full":"http://opbeans-node:3000/api/types/1"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-a5baf91b39ebd2b596db5700ce4f57c5-f2eae8d5706a8ee5-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-a5baf91b39ebd2b596db5700ce4f57c5-f2eae8d5706a8ee5-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"217","etag":"W/\"d9-cebOOHODBQMZd1wt+ZZBaSPgQLQ\"","date":"Mon, 28 Feb 2022 13:40:29 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"55889aa961bc824c","transaction_id":"a94a42d5e6dd91b4","parent_id":"a94a42d5e6dd91b4","trace_id":"085f5fcc6dec6cb978d638d14d6d9e07","subtype":"postgresql","action":"query","timestamp":1646055629937864,"duration":6.077,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"70fefacaf0a994c6","transaction_id":"a94a42d5e6dd91b4","parent_id":"a94a42d5e6dd91b4","trace_id":"085f5fcc6dec6cb978d638d14d6d9e07","subtype":"postgresql","action":"query","timestamp":1646055629945803,"duration":7.824,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"eaf7893640218f3e","transaction_id":"a94a42d5e6dd91b4","parent_id":"a94a42d5e6dd91b4","trace_id":"085f5fcc6dec6cb978d638d14d6d9e07","subtype":"postgresql","action":"query","timestamp":1646055629947919,"duration":7.499,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"af2e5df69a10c393","transaction_id":"a94a42d5e6dd91b4","parent_id":"a94a42d5e6dd91b4","trace_id":"085f5fcc6dec6cb978d638d14d6d9e07","subtype":"postgresql","action":"query","timestamp":1646055629950106,"duration":7.439,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"a94a42d5e6dd91b4","trace_id":"085f5fcc6dec6cb978d638d14d6d9e07","parent_id":"d8cb3fcceee74bc7","duration":39.526,"timestamp":1646055629923025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-085f5fcc6dec6cb978d638d14d6d9e07-d8cb3fcceee74bc7-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-085f5fcc6dec6cb978d638d14d6d9e07-d8cb3fcceee74bc7-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:29 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"e12267d4aeab21c2","trace_id":"aedec7b3e355b649c25fc5e740c039b9","duration":135.767,"timestamp":1646055630101053,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5","full":"http://opbeans-node:3000/api/products/5"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"3a6fa85a318de2856f3fa7cda08b17a5\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"a19c0e7d-d8d7-43f9-86d2-4055b07f1747","x-runtime":"0.050622","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:30 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"9a9bbd96bf08ac6d","transaction_id":"e12267d4aeab21c2","parent_id":"e12267d4aeab21c2","trace_id":"aedec7b3e355b649c25fc5e740c039b9","subtype":"http","action":"GET","timestamp":1646055630130060,"duration":96.183,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/5"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"75ea067cccf921e9","transaction_id":"3bbd041adee04d1d","parent_id":"3bbd041adee04d1d","trace_id":"75623ebbbb560ac2cd592f887662e520","subtype":"postgresql","action":"query","timestamp":1646055630612952,"duration":17.614,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"b8837abed3945d89","transaction_id":"3bbd041adee04d1d","parent_id":"3bbd041adee04d1d","trace_id":"75623ebbbb560ac2cd592f887662e520","subtype":"postgresql","action":"query","timestamp":1646055630615732,"duration":24.327,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"bf00fa65b494e51d","transaction_id":"3bbd041adee04d1d","parent_id":"3bbd041adee04d1d","trace_id":"75623ebbbb560ac2cd592f887662e520","subtype":"postgresql","action":"query","timestamp":1646055630618900,"duration":24.732,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"cce8d7af64b6a4ea","transaction_id":"3bbd041adee04d1d","parent_id":"3bbd041adee04d1d","trace_id":"75623ebbbb560ac2cd592f887662e520","subtype":"postgresql","action":"query","timestamp":1646055630622565,"duration":25.484,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"a340d6b6c3014c11","transaction_id":"3bbd041adee04d1d","parent_id":"3bbd041adee04d1d","trace_id":"75623ebbbb560ac2cd592f887662e520","subtype":"postgresql","action":"query","timestamp":1646055630663348,"duration":8.598,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"3bbd041adee04d1d","trace_id":"75623ebbbb560ac2cd592f887662e520","duration":87.007,"timestamp":1646055630599041,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:40:30 GMT","connection":"close"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"2ec5df82d830c43a","transaction_id":"3bbd041adee04d1d","parent_id":"3bbd041adee04d1d","trace_id":"75623ebbbb560ac2cd592f887662e520","subtype":"postgresql","action":"query","timestamp":1646055630658381,"duration":15.612,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"13ad5c9b01c92f9d","transaction_id":"3bbd041adee04d1d","parent_id":"3bbd041adee04d1d","trace_id":"75623ebbbb560ac2cd592f887662e520","subtype":"postgresql","action":"query","timestamp":1646055630651757,"duration":26.043,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"957249ce8d2c2460","trace_id":"725648be119795cb1225510b1f5d4994","duration":12.448,"timestamp":1646055631135025,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:40:31 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"21d9fd988f7eb654","trace_id":"4b7f8bdedbedf342404d258c4ec2bdc4","duration":57.024,"timestamp":1646055631596037,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/6","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/6","full":"http://opbeans-node:3000/api/products/6"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"254","etag":"W/\"fe-vUW963ju559F4nwQXb+Wg4ZAqdk\"","date":"Mon, 28 Feb 2022 13:40:31 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"1a04cfe040f4cdfd","transaction_id":"21d9fd988f7eb654","parent_id":"21d9fd988f7eb654","trace_id":"4b7f8bdedbedf342404d258c4ec2bdc4","subtype":"postgresql","action":"query","timestamp":1646055631605175,"duration":21.91,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"9fbbbd1bf8d85a90","trace_id":"65a99bf833f25467ee48e98824ab71f2","duration":162.451,"timestamp":1646055632110021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/238","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/238","full":"http://opbeans-node:3000/api/orders/238"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=UTF-8","x-request-id":"98f857d2-d78b-4489-8405-5380d45edbe1","x-runtime":"0.064290","connection":"close","content-length":"1722","date":"Mon, 28 Feb 2022 13:40:32 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"168d7438ef821593","transaction_id":"9fbbbd1bf8d85a90","parent_id":"9fbbbd1bf8d85a90","trace_id":"65a99bf833f25467ee48e98824ab71f2","subtype":"http","action":"GET","timestamp":1646055632122779,"duration":139.71,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-ruby:3000/api/orders/238"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"6616afb801c4ffa2","trace_id":"a8ef130c288b6f35f90b6f920da76e95","duration":286.222,"timestamp":1646055632624041,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"6b84b8cfae4908f93f790804f2c9e7c9\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"a2c11523-75cd-4d51-a07e-b26e093b1ffb","x-runtime":"0.094595","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:32 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"50f48d5277fa3dc2","transaction_id":"6616afb801c4ffa2","parent_id":"6616afb801c4ffa2","trace_id":"a8ef130c288b6f35f90b6f920da76e95","subtype":"http","action":"GET","timestamp":1646055632654256,"duration":173.211,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"85a4bea90ac48e5c","trace_id":"0bc220f6de63fd9f8a43c0ba14eef237","duration":29.718,"timestamp":1646055633604036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/320","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/320","full":"http://opbeans-node:3000/api/orders/320"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:40:33 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"9094ecde566a1f62","transaction_id":"85a4bea90ac48e5c","parent_id":"85a4bea90ac48e5c","trace_id":"0bc220f6de63fd9f8a43c0ba14eef237","subtype":"postgresql","action":"query","timestamp":1646055633614331,"duration":10.461,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"0c96ac91e04fb60a","trace_id":"f6c5c167252652a5885af791292f98be","parent_id":"c64832550545f526","duration":4273.986,"timestamp":1646055629665030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-f6c5c167252652a5885af791292f98be-c64832550545f526-01","elastic-apm-traceparent":"00-f6c5c167252652a5885af791292f98be-c64832550545f526-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:33 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"ecc6306b858f99c7","transaction_id":"0c96ac91e04fb60a","parent_id":"0c96ac91e04fb60a","trace_id":"f6c5c167252652a5885af791292f98be","subtype":"http","action":"GET","timestamp":1646055629678481,"duration":4256.003,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"3f0880fad73cece4","trace_id":"f6c5c167252652a5885af791292f98be","duration":4395.712,"timestamp":1646055629601021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"123","content-type":"application/json","date":"Mon, 28 Feb 2022 13:40:33 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"40ffe541795a9f50","transaction_id":"3f0880fad73cece4","parent_id":"3f0880fad73cece4","trace_id":"f6c5c167252652a5885af791292f98be","subtype":"http","action":"GET","timestamp":1646055629605350,"duration":4380.829,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b2f9263833c9a0f7","trace_id":"fc10702dc9544278de9f3463b7d00d20","parent_id":"8fd1b5a6c88c171a","duration":286.581,"timestamp":1646055633839023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-fc10702dc9544278de9f3463b7d00d20-8fd1b5a6c88c171a-01","elastic-apm-traceparent":"00-fc10702dc9544278de9f3463b7d00d20-8fd1b5a6c88c171a-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"d50e5d95-7dab-4d35-a4de-4651ac985d3c","x-runtime":"0.147783","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:34 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"0151f03d426b515d","transaction_id":"b2f9263833c9a0f7","parent_id":"b2f9263833c9a0f7","trace_id":"fc10702dc9544278de9f3463b7d00d20","subtype":"http","action":"GET","timestamp":1646055633846425,"duration":248.576,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"2415605094d9e00b","trace_id":"fc10702dc9544278de9f3463b7d00d20","duration":1097.615,"timestamp":1646055633098028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"83","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:34 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"d39dd8bd9a0ea138","transaction_id":"2415605094d9e00b","parent_id":"2415605094d9e00b","trace_id":"fc10702dc9544278de9f3463b7d00d20","subtype":"http","action":"GET","timestamp":1646055633104774,"duration":1085.209,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"f3e7a5d722ffeb7f","trace_id":"d075bd3ca410c45897f3651963735419","duration":115.687,"timestamp":1646055634207017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/363","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/363","full":"http://opbeans-node:3000/api/orders/363"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:34 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"305","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"425d9209041064dc","transaction_id":"f3e7a5d722ffeb7f","parent_id":"f3e7a5d722ffeb7f","trace_id":"d075bd3ca410c45897f3651963735419","subtype":"http","action":"GET","timestamp":1646055634235227,"duration":71.963,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/orders/363"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"8f0b60a6b13ab74a","transaction_id":"d143eac775a6f839","parent_id":"d143eac775a6f839","trace_id":"1e6f8439e2ec0859acadf9256fcbd9ee","subtype":"postgresql","action":"query","timestamp":1646055634619241,"duration":28.887,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"862acd1c9a01571c","transaction_id":"d143eac775a6f839","parent_id":"d143eac775a6f839","trace_id":"1e6f8439e2ec0859acadf9256fcbd9ee","subtype":"postgresql","action":"query","timestamp":1646055634622202,"duration":38.631,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"0f8e0327eeaa8c76","transaction_id":"d143eac775a6f839","parent_id":"d143eac775a6f839","trace_id":"1e6f8439e2ec0859acadf9256fcbd9ee","subtype":"postgresql","action":"query","timestamp":1646055634630161,"duration":33.973,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"6c6864b5cc58f4eb","transaction_id":"d143eac775a6f839","parent_id":"d143eac775a6f839","trace_id":"1e6f8439e2ec0859acadf9256fcbd9ee","subtype":"postgresql","action":"query","timestamp":1646055634636630,"duration":29.599,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"58f52b3a947fccd9","transaction_id":"d143eac775a6f839","parent_id":"d143eac775a6f839","trace_id":"1e6f8439e2ec0859acadf9256fcbd9ee","subtype":"postgresql","action":"query","timestamp":1646055634677614,"duration":5.354,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"d143eac775a6f839","trace_id":"1e6f8439e2ec0859acadf9256fcbd9ee","duration":92.09,"timestamp":1646055634605148,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:40:34 GMT","connection":"close"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"b7d4ba09c60e820a","transaction_id":"d143eac775a6f839","parent_id":"d143eac775a6f839","trace_id":"1e6f8439e2ec0859acadf9256fcbd9ee","subtype":"postgresql","action":"query","timestamp":1646055634673619,"duration":10.818,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"3b0cc57218e8c3fc","transaction_id":"d143eac775a6f839","parent_id":"d143eac775a6f839","trace_id":"1e6f8439e2ec0859acadf9256fcbd9ee","subtype":"postgresql","action":"query","timestamp":1646055634669259,"duration":17.685,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"ad3d927679bac118","transaction_id":"8689e54e88cba338","parent_id":"8689e54e88cba338","trace_id":"6634337d506a6af4f24df02d402596fe","subtype":"postgresql","action":"query","timestamp":1646055634782990,"duration":2.998,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"8689e54e88cba338","trace_id":"6634337d506a6af4f24df02d402596fe","parent_id":"d9ef89af46618d80","duration":14.33,"timestamp":1646055634775018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/928","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/928","full":"http://opbeans-go:3000/api/customers/928"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-6634337d506a6af4f24df02d402596fe-d9ef89af46618d80-01","traceparent":"00-6634337d506a6af4f24df02d402596fe-d9ef89af46618d80-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"181","etag":"W/\"b5-wlHWSpsgyrF+Kq8GyYatcMXvymo\"","date":"Mon, 28 Feb 2022 13:40:34 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"d0251fd7c1288a2e","transaction_id":"11d134355dc9d8b6","parent_id":"11d134355dc9d8b6","trace_id":"1fd5dbe7f23869a11e2059e2ad56428a","subtype":"redis","action":null,"timestamp":1646055635059659,"duration":2.594,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"1ac9a33759cacb57","transaction_id":"11d134355dc9d8b6","parent_id":"11d134355dc9d8b6","trace_id":"1fd5dbe7f23869a11e2059e2ad56428a","subtype":"postgresql","action":"query","timestamp":1646055635063856,"duration":8.051,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"11d134355dc9d8b6","trace_id":"1fd5dbe7f23869a11e2059e2ad56428a","parent_id":"b423c20c258a5896","duration":40.899,"timestamp":1646055635039027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products","full":"http://opbeans-go:3000/api/products"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-1fd5dbe7f23869a11e2059e2ad56428a-b423c20c258a5896-01","traceparent":"00-1fd5dbe7f23869a11e2059e2ad56428a-b423c20c258a5896-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:40:35 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"23b53899ca2a793b","transaction_id":"00b0304e0ca17180","parent_id":"00b0304e0ca17180","trace_id":"e7ea3b449ab99d028c3d225756e5f147","subtype":"postgresql","action":"query","timestamp":1646055635153982,"duration":3.579,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"00b0304e0ca17180","trace_id":"e7ea3b449ab99d028c3d225756e5f147","duration":17.155,"timestamp":1646055635148021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/35","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/35","full":"http://opbeans-node:3000/api/customers/35"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"181","etag":"W/\"b5-Ou7cekaNIsAyjQVrMp4ycP5WN3c\"","date":"Mon, 28 Feb 2022 13:40:35 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"96bdd206c645a839","trace_id":"42392755b1bd112bd2c9b06c8a2d33f7","duration":29.62,"timestamp":1646055635651034,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:40:35 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"Send receipt email","type":"custom","id":"3da293647368dd29","transaction_id":"ef8fb7266a5e81f1","parent_id":"ef8fb7266a5e81f1","trace_id":"0d47b3449980acb589a4914730eca4ae","subtype":null,"action":null,"timestamp":1646055635052273,"duration":819.104,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":33,"function":"processCompletedOrder","library_frame":false,"abs_path":"/app/worker.js","pre_context":[""," apm.startTransaction('Process completed order', 'Worker')"],"context_line":" performSubTasks(['Send receipt email', 'Update inventory'], function () {","post_context":[" apm.endTransaction()"," queue(processCompletedOrder)"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"e0890f3ac62d8592","transaction_id":"0324362accc1034d","parent_id":"0324362accc1034d","trace_id":"3249a931b9788dfb33ba5b99a88b86e9","subtype":"redis","action":null,"timestamp":1646055635860937,"duration":15.571,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"stacktrace":[{"filename":"node_modules/redis/lib/commands.js","lineno":46,"function":"get","library_frame":true,"abs_path":"/app/node_modules/redis/lib/commands.js"},{"filename":"server/routes.js","lineno":168,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":["","app.get('/customers', function (req, res) {"],"context_line":" redis.get('customers', function (err, obj) {","post_context":[" if (err) apm.captureError(err)"," else if (obj) return res.json(obj)"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":137,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":112,"function":"dispatch","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":281,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":88,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":["app.use('/api', function (req, res, next) {"," if (Math.random() > opbeansRedirectProbability) {"],"context_line":" return next()","post_context":[" }",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"a9698897c6a680c0","transaction_id":"0324362accc1034d","parent_id":"0324362accc1034d","trace_id":"3249a931b9788dfb33ba5b99a88b86e9","subtype":"postgresql","action":"query","timestamp":1646055635883844,"duration":116.617,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"0324362accc1034d","trace_id":"3249a931b9788dfb33ba5b99a88b86e9","parent_id":"a9c3f4bb33301afb","duration":189.564,"timestamp":1646055635855028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers","full":"http://opbeans-go:3000/api/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-3249a931b9788dfb33ba5b99a88b86e9-a9c3f4bb33301afb-01","traceparent":"00-3249a931b9788dfb33ba5b99a88b86e9-a9c3f4bb33301afb-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:40:35 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"c6fe5a918fc2fe1a","transaction_id":"a4475072618c518b","parent_id":"a4475072618c518b","trace_id":"2e99f4ae9dac2f24a8664ebd37f74eb3","subtype":"postgresql","action":"query","timestamp":1646055636142495,"duration":23.006,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"a4475072618c518b","trace_id":"2e99f4ae9dac2f24a8664ebd37f74eb3","duration":114.723,"timestamp":1646055636114036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:36 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"789fee5420d75262","transaction_id":"a4475072618c518b","parent_id":"a4475072618c518b","trace_id":"2e99f4ae9dac2f24a8664ebd37f74eb3","subtype":"postgresql","action":"query","timestamp":1646055636169864,"duration":23.046,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"715d5de230198e9b","transaction_id":"a4475072618c518b","parent_id":"a4475072618c518b","trace_id":"2e99f4ae9dac2f24a8664ebd37f74eb3","subtype":"postgresql","action":"query","timestamp":1646055636177721,"duration":24.042,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"097da59dd19bade5","transaction_id":"a4475072618c518b","parent_id":"a4475072618c518b","trace_id":"2e99f4ae9dac2f24a8664ebd37f74eb3","subtype":"postgresql","action":"query","timestamp":1646055636183600,"duration":24.546,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"a9a9e97c020f7bc3","transaction_id":"469e0780e5f4b661","parent_id":"469e0780e5f4b661","trace_id":"af4e65c4584cbaaf0a82737b40a4b7d5","subtype":"redis","action":null,"timestamp":1646055636331048,"duration":1.719,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"2664bec475fc4acd","transaction_id":"469e0780e5f4b661","parent_id":"469e0780e5f4b661","trace_id":"af4e65c4584cbaaf0a82737b40a4b7d5","subtype":"postgresql","action":"query","timestamp":1646055636335157,"duration":3.593,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"469e0780e5f4b661","trace_id":"af4e65c4584cbaaf0a82737b40a4b7d5","parent_id":"2cc239e12f7e8562","duration":25.121,"timestamp":1646055636322027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types","full":"http://opbeans-go:3000/api/types"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-af4e65c4584cbaaf0a82737b40a4b7d5-2cc239e12f7e8562-01","traceparent":"00-af4e65c4584cbaaf0a82737b40a4b7d5-2cc239e12f7e8562-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:40:36 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"Process completed order","type":"Worker","result":"success","id":"ef8fb7266a5e81f1","trace_id":"0d47b3449980acb589a4914730eca4ae","duration":1537.596,"timestamp":1646055635049040,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{}},"span_count":{"started":2},"outcome":"unknown","sample_rate":1}} +{"span":{"name":"Update inventory","type":"custom","id":"7994bfae65bba5b3","transaction_id":"ef8fb7266a5e81f1","parent_id":"ef8fb7266a5e81f1","trace_id":"0d47b3449980acb589a4914730eca4ae","subtype":null,"action":null,"timestamp":1646055635890977,"duration":686.569,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":55,"function":"Timeout._onTimeout","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"],"context_line":" performSubTasks(tasks, cb)","post_context":[" }, Math.random() * 20).unref()"," })"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"eab5f14c9e27bc18","transaction_id":"d226c6ef95f9437f","parent_id":"d226c6ef95f9437f","trace_id":"454fc537fbf80ed4e2946fa2cd897bbe","subtype":"redis","action":null,"timestamp":1646055636619513,"duration":2.985,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"2b68e097f5e7cedc","transaction_id":"d226c6ef95f9437f","parent_id":"d226c6ef95f9437f","trace_id":"454fc537fbf80ed4e2946fa2cd897bbe","subtype":"postgresql","action":"query","timestamp":1646055636623930,"duration":4.12,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"d226c6ef95f9437f","trace_id":"454fc537fbf80ed4e2946fa2cd897bbe","duration":19.437,"timestamp":1646055636612017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:40:36 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"42f98fd82cb898c4","trace_id":"b30ca088555522a10e897bc4d73232da","parent_id":"44475042ad85c85b","duration":57.466,"timestamp":1646055636603017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types","full":"http://opbeans-go:3000/api/types"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-b30ca088555522a10e897bc4d73232da-44475042ad85c85b-01","traceparent":"00-b30ca088555522a10e897bc4d73232da-44475042ad85c85b-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"32a6f2ac22b5ec871f35104a05ba3759\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"b60f10dd-ca61-4dde-a427-c052913c3724","x-runtime":"0.021081","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:36 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"ae2c53cdc9032c11","transaction_id":"42f98fd82cb898c4","parent_id":"42f98fd82cb898c4","trace_id":"b30ca088555522a10e897bc4d73232da","subtype":"http","action":"GET","timestamp":1646055636608384,"duration":46.747,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"c539512f7c4caa18","trace_id":"fc18ff13811892357b56740d7b24dcee","parent_id":"806f68daa8d65ca9","duration":58.9,"timestamp":1646055636754041,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/908","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders/908","full":"http://opbeans-go:3000/api/orders/908"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-fc18ff13811892357b56740d7b24dcee-806f68daa8d65ca9-01","traceparent":"00-fc18ff13811892357b56740d7b24dcee-806f68daa8d65ca9-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-length":"1722","content-type":"text/html; charset=UTF-8","date":"Mon, 28 Feb 2022 13:40:36 GMT","x-request-id":"61cf5d46-cb9b-4624-94fd-3ef8c77877de","x-runtime":"0.025968","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"4d3e63631083af29","transaction_id":"c539512f7c4caa18","parent_id":"c539512f7c4caa18","trace_id":"fc18ff13811892357b56740d7b24dcee","subtype":"http","action":"GET","timestamp":1646055636762018,"duration":44.191,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-go:3000/api/orders/908"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"9133e108f6c1d7b1","transaction_id":"76b78594474f7936","parent_id":"76b78594474f7936","trace_id":"fa9cadb90a82fca304d68fb42d352f5b","subtype":"postgresql","action":"query","timestamp":1646055636966712,"duration":6.019,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"76b78594474f7936","trace_id":"fa9cadb90a82fca304d68fb42d352f5b","parent_id":"22f7fccc6b1b1edb","duration":22.225,"timestamp":1646055636960023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/2","full":"http://opbeans-go:3000/api/products/2"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-fa9cadb90a82fca304d68fb42d352f5b-22f7fccc6b1b1edb-01","traceparent":"00-fa9cadb90a82fca304d68fb42d352f5b-22f7fccc6b1b1edb-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"242","etag":"W/\"f2-TrZrMcMTUtdW6GY8TQq8W/JG3iU\"","date":"Mon, 28 Feb 2022 13:40:36 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"edb1453c50efff54","transaction_id":"6d7216c13a4eb721","parent_id":"6d7216c13a4eb721","trace_id":"91e7e0dce5cf748817fa3a3d11bf9a0a","subtype":"postgresql","action":"query","timestamp":1646055637006047,"duration":3.42,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"6d7216c13a4eb721","trace_id":"91e7e0dce5cf748817fa3a3d11bf9a0a","parent_id":"6d305a4dd4bf8ec3","duration":17.405,"timestamp":1646055636999017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/589","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders/589","full":"http://opbeans-go:3000/api/orders/589"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-91e7e0dce5cf748817fa3a3d11bf9a0a-6d305a4dd4bf8ec3-01","traceparent":"00-91e7e0dce5cf748817fa3a3d11bf9a0a-6d305a4dd4bf8ec3-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:40:37 GMT","connection":"keep-alive","keep-alive":"timeout=5","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"7efb63984e20ba1b","trace_id":"7653a1002b32660166fcd9147253c23f","parent_id":"3e5924d2f4a37d6c","duration":30.469,"timestamp":1646055637054052,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders","full":"http://opbeans-go:3000/api/orders"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-7653a1002b32660166fcd9147253c23f-3e5924d2f4a37d6c-01","traceparent":"00-7653a1002b32660166fcd9147253c23f-3e5924d2f4a37d6c-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:37 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"42060037884473f3","transaction_id":"7efb63984e20ba1b","parent_id":"7efb63984e20ba1b","trace_id":"7653a1002b32660166fcd9147253c23f","subtype":"http","action":"GET","timestamp":1646055637060066,"duration":20.274,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-error","type":"request","result":"HTTP 5xx","id":"ae39d417efc426e7","trace_id":"41e0ec39f19d4d4c25e84bdc01333084","duration":48.886,"timestamp":1646055637105019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-error","full":"http://opbeans-node:3000/log-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:40:37 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"1f415544d8612d46","transaction_id":"a602bf74f61d9b90","parent_id":"a602bf74f61d9b90","trace_id":"025499b1c2753ca8dfcedc2379e10099","subtype":"redis","action":null,"timestamp":1646055637300384,"duration":2.629,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"a5edc4ab0325a32a","transaction_id":"a602bf74f61d9b90","parent_id":"a602bf74f61d9b90","trace_id":"025499b1c2753ca8dfcedc2379e10099","subtype":"postgresql","action":"query","timestamp":1646055637304623,"duration":5.844,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"a602bf74f61d9b90","trace_id":"025499b1c2753ca8dfcedc2379e10099","parent_id":"b20de3b63d9d4f13","duration":33.318,"timestamp":1646055637286034,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products","full":"http://opbeans-go:3000/api/products"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-025499b1c2753ca8dfcedc2379e10099-b20de3b63d9d4f13-01","traceparent":"00-025499b1c2753ca8dfcedc2379e10099-b20de3b63d9d4f13-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:40:37 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"3e944217c34f30d3","trace_id":"004a22684d8bce122027887132d0c9b8","parent_id":"e010757464fae0a4","duration":127.828,"timestamp":1646055637425030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/stats","full":"http://opbeans-go:3000/api/stats"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-004a22684d8bce122027887132d0c9b8-e010757464fae0a4-01","traceparent":"00-004a22684d8bce122027887132d0c9b8-e010757464fae0a4-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"3a23660c-ad30-4ae1-989f-9c68c68a6582","x-runtime":"0.062799","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:37 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"d9a50c89453b2891","transaction_id":"3e944217c34f30d3","parent_id":"3e944217c34f30d3","trace_id":"004a22684d8bce122027887132d0c9b8","subtype":"http","action":"GET","timestamp":1646055637432011,"duration":108.315,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"103f904d2911f456","trace_id":"e5d4e0374b01c1d60e3fd74c8c0e4932","duration":77.044,"timestamp":1646055637626031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:37 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"078af4ae815041c5","transaction_id":"103f904d2911f456","parent_id":"103f904d2911f456","trace_id":"e5d4e0374b01c1d60e3fd74c8c0e4932","subtype":"http","action":"GET","timestamp":1646055637633090,"duration":46.663,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"1d2d00cc0f4b0ab9","trace_id":"97e609a32ec1bef99de1f7ba440d17c5","parent_id":"a9c6b632a83ff09e","duration":28.086,"timestamp":1646055637724041,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:37 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"bb3c5c3868c46b9c","transaction_id":"d0ad4014069ba018","parent_id":"d0ad4014069ba018","trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","subtype":"postgresql","action":"query","timestamp":1646055637876717,"duration":4.38,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"d0ad4014069ba018","trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","parent_id":"b34d4b7cb2884270","duration":17.663,"timestamp":1646055637870018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/2/customers","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"python-requests/2.27.1","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-8b4f882ca4ae9514e64ea9923ec27d39-b34d4b7cb2884270-01","traceparent":"00-8b4f882ca4ae9514e64ea9923ec27d39-b34d4b7cb2884270-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.11"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"4827","etag":"W/\"12db-CVjfNlJXPDdUOB1pLPihBDfjg34\"","date":"Mon, 28 Feb 2022 13:40:37 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"bf5f74fb73feff6b","trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","parent_id":"94facab18c2b0473","duration":68.249,"timestamp":1646055637838020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/2/customers","full":"http://opbeans-go:3000/api/products/2/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-8b4f882ca4ae9514e64ea9923ec27d39-94facab18c2b0473-01","traceparent":"00-8b4f882ca4ae9514e64ea9923ec27d39-94facab18c2b0473-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:37 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"4827","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"6c131cf242a352be","transaction_id":"bf5f74fb73feff6b","parent_id":"bf5f74fb73feff6b","trace_id":"8b4f882ca4ae9514e64ea9923ec27d39","subtype":"http","action":"GET","timestamp":1646055637842575,"duration":59.794,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/2/customers"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"3b87ba366f2aa870","trace_id":"b0de3f64d363f171062406e8e38864ab","parent_id":"bb2d1ad6f3f8fdeb","duration":60.041,"timestamp":1646055637937018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-b0de3f64d363f171062406e8e38864ab-bb2d1ad6f3f8fdeb-01","elastic-apm-traceparent":"00-b0de3f64d363f171062406e8e38864ab-bb2d1ad6f3f8fdeb-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:37 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"203686","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"443ec815b217e4c9","transaction_id":"3b87ba366f2aa870","parent_id":"3b87ba366f2aa870","trace_id":"b0de3f64d363f171062406e8e38864ab","subtype":"http","action":"GET","timestamp":1646055637940991,"duration":51.81,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"2e3161b9bd17bc4c","transaction_id":"1d0b82f964b3c34c","parent_id":"1d0b82f964b3c34c","trace_id":"a06a9d6036e80fd2a13cb4fe310d9c80","subtype":"postgresql","action":"query","timestamp":1646055638133039,"duration":3.808,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"1d0b82f964b3c34c","trace_id":"a06a9d6036e80fd2a13cb4fe310d9c80","parent_id":"33934a586e670564","duration":42.269,"timestamp":1646055638128022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-a06a9d6036e80fd2a13cb4fe310d9c80-33934a586e670564-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-a06a9d6036e80fd2a13cb4fe310d9c80-33934a586e670564-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:38 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"07bfcedd1ab0aab7","transaction_id":"1d0b82f964b3c34c","parent_id":"1d0b82f964b3c34c","trace_id":"a06a9d6036e80fd2a13cb4fe310d9c80","subtype":"postgresql","action":"query","timestamp":1646055638138561,"duration":19.803,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"0a8eff1aaa022e62","transaction_id":"1d0b82f964b3c34c","parent_id":"1d0b82f964b3c34c","trace_id":"a06a9d6036e80fd2a13cb4fe310d9c80","subtype":"postgresql","action":"query","timestamp":1646055638145183,"duration":18.519,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"af78281bb018b83c","transaction_id":"1d0b82f964b3c34c","parent_id":"1d0b82f964b3c34c","trace_id":"a06a9d6036e80fd2a13cb4fe310d9c80","subtype":"postgresql","action":"query","timestamp":1646055638153492,"duration":12.512,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"6eb165a56862bed4","trace_id":"bab833aee57fc958acd773eac00832ff","parent_id":"625147ea995bb5b3","duration":92.24,"timestamp":1646055638115023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products","full":"http://opbeans-go:3000/api/products"},"headers":{"host":"opbeans-go:3000","elastic-apm-traceparent":"00-bab833aee57fc958acd773eac00832ff-625147ea995bb5b3-01","traceparent":"00-bab833aee57fc958acd773eac00832ff-625147ea995bb5b3-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.10","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:38 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"48f838dc93c62943","transaction_id":"6eb165a56862bed4","parent_id":"6eb165a56862bed4","trace_id":"bab833aee57fc958acd773eac00832ff","subtype":"http","action":"GET","timestamp":1646055638119709,"duration":83.316,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"9c99ff3be4ba2032","trace_id":"bab833aee57fc958acd773eac00832ff","duration":127.953,"timestamp":1646055638104029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:38 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"3be433520203604f","transaction_id":"9c99ff3be4ba2032","parent_id":"9c99ff3be4ba2032","trace_id":"bab833aee57fc958acd773eac00832ff","subtype":"http","action":"GET","timestamp":1646055638108552,"duration":109.961,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"6c9d4e6315e50a3b","trace_id":"4ba3a479d89ab2f9bd80bdbf1262635e","parent_id":"eea7d5d1e9b85400","duration":59.231,"timestamp":1646055638424038,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/831","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders/831","full":"http://opbeans-go:3000/api/orders/831"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-4ba3a479d89ab2f9bd80bdbf1262635e-eea7d5d1e9b85400-01","traceparent":"00-4ba3a479d89ab2f9bd80bdbf1262635e-eea7d5d1e9b85400-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:40:38 GMT","connection":"keep-alive","keep-alive":"timeout=5","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"d2522043022e5d51","transaction_id":"6c9d4e6315e50a3b","parent_id":"6c9d4e6315e50a3b","trace_id":"4ba3a479d89ab2f9bd80bdbf1262635e","subtype":"postgresql","action":"query","timestamp":1646055638444056,"duration":16.529,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"4de44392b5fb4a92","transaction_id":"be80e686de2f2ea6","parent_id":"be80e686de2f2ea6","trace_id":"cdf620a9342fbc3fad970ec173990b8d","subtype":"redis","action":null,"timestamp":1646055638630693,"duration":7.845,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"d9e72d5ae1382a61","transaction_id":"be80e686de2f2ea6","parent_id":"be80e686de2f2ea6","trace_id":"cdf620a9342fbc3fad970ec173990b8d","subtype":"postgresql","action":"query","timestamp":1646055638639801,"duration":3.53,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"be80e686de2f2ea6","trace_id":"cdf620a9342fbc3fad970ec173990b8d","duration":37.983,"timestamp":1646055638610044,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:40:38 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"89d877e63deb7354","trace_id":"9238d942b000c419d68a24d014a3db40","parent_id":"9e8f8e83ebe92d88","duration":21.407,"timestamp":1646055638758019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4/customers","full":"http://opbeans-node:3000/api/products/4/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-9238d942b000c419d68a24d014a3db40-9e8f8e83ebe92d88-01","elastic-apm-traceparent":"00-9238d942b000c419d68a24d014a3db40-9e8f8e83ebe92d88-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:38 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"63a702f1afa89d44","transaction_id":"89d877e63deb7354","parent_id":"89d877e63deb7354","trace_id":"9238d942b000c419d68a24d014a3db40","subtype":"http","action":"GET","timestamp":1646055638762174,"duration":10.781,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/4/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"a9d07e36f4b8d34b","transaction_id":"d0f554d9739ff6aa","parent_id":"d0f554d9739ff6aa","trace_id":"70020827164504f8911a8a4da4f4d14c","subtype":"redis","action":null,"timestamp":1646055639121876,"duration":4.092,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"a339011a600f8fee","transaction_id":"d0f554d9739ff6aa","parent_id":"d0f554d9739ff6aa","trace_id":"70020827164504f8911a8a4da4f4d14c","subtype":"postgresql","action":"query","timestamp":1646055639135147,"duration":5.294,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"d0f554d9739ff6aa","trace_id":"70020827164504f8911a8a4da4f4d14c","duration":34.134,"timestamp":1646055639110035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:40:39 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"47d59e8a45702ffa","trace_id":"2de4b32280770834f2c9639de5f3a4fb","parent_id":"4132eb9fac9735ed","duration":32.959,"timestamp":1646055639148018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/325","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/325","full":"http://opbeans-node:3000/api/customers/325"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-2de4b32280770834f2c9639de5f3a4fb-4132eb9fac9735ed-01","elastic-apm-traceparent":"00-2de4b32280770834f2c9639de5f3a4fb-4132eb9fac9735ed-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:39 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"213","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"86cbafe7c3abbb35","transaction_id":"47d59e8a45702ffa","parent_id":"47d59e8a45702ffa","trace_id":"2de4b32280770834f2c9639de5f3a4fb","subtype":"http","action":"GET","timestamp":1646055639152837,"duration":23.723,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers/325"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"2df5e5aa72865e16","trace_id":"5f8eabf8670a1cf1115824052f0d33e5","parent_id":"1904d7c50200ade8","duration":44.749,"timestamp":1646055639629020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2/customers?limit=90","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2/customers","search":"?limit=90","full":"http://opbeans-node:3000/api/products/2/customers?limit=90"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-5f8eabf8670a1cf1115824052f0d33e5-1904d7c50200ade8-01","elastic-apm-traceparent":"00-5f8eabf8670a1cf1115824052f0d33e5-1904d7c50200ade8-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"4827","etag":"W/\"12db-CVjfNlJXPDdUOB1pLPihBDfjg34\"","date":"Mon, 28 Feb 2022 13:40:39 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"6d9812bf31142111","transaction_id":"2df5e5aa72865e16","parent_id":"2df5e5aa72865e16","trace_id":"5f8eabf8670a1cf1115824052f0d33e5","subtype":"postgresql","action":"query","timestamp":1646055639651455,"duration":14.4,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"a1c999a48b5ad4e6","trace_id":"c58469e6eb5fd1bf8ed2820ffc1243fb","parent_id":"8dd9b1d6bc834f71","duration":46.635,"timestamp":1646055639684024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-c58469e6eb5fd1bf8ed2820ffc1243fb-8dd9b1d6bc834f71-01","elastic-apm-traceparent":"00-c58469e6eb5fd1bf8ed2820ffc1243fb-8dd9b1d6bc834f71-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:39 GMT","content-length":"110","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"e129184aa62afc9b","transaction_id":"a1c999a48b5ad4e6","parent_id":"a1c999a48b5ad4e6","trace_id":"c58469e6eb5fd1bf8ed2820ffc1243fb","subtype":"http","action":"GET","timestamp":1646055639692401,"duration":33.308,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"7e0dd3c8b4e7239c","trace_id":"c58469e6eb5fd1bf8ed2820ffc1243fb","duration":158.432,"timestamp":1646055639607021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:39 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"eea3331ba7139db4","transaction_id":"7e0dd3c8b4e7239c","parent_id":"7e0dd3c8b4e7239c","trace_id":"c58469e6eb5fd1bf8ed2820ffc1243fb","subtype":"http","action":"GET","timestamp":1646055639619919,"duration":141.031,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"32293d1fad1272f3","trace_id":"22d5ab4fa83690eb1873413bcb950d5b","parent_id":"76e232831854fc5c","duration":91.772,"timestamp":1646055639944029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders","full":"http://opbeans-go:3000/api/orders"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-22d5ab4fa83690eb1873413bcb950d5b-76e232831854fc5c-01","traceparent":"00-22d5ab4fa83690eb1873413bcb950d5b-76e232831854fc5c-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"195dc75dd23c6abbf5c85d7fd3d619d1\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"94cf4bef-62fb-4637-89db-541d2b59e1e4","x-runtime":"0.057286","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:40 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"31ff40038986a72c","transaction_id":"32293d1fad1272f3","parent_id":"32293d1fad1272f3","trace_id":"22d5ab4fa83690eb1873413bcb950d5b","subtype":"http","action":"GET","timestamp":1646055639953907,"duration":77.079,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"78a58afd537fbbe3","transaction_id":"6f40145390a8133b","parent_id":"6f40145390a8133b","trace_id":"d7404ff159409bc3d4f039531dcd2236","subtype":"postgresql","action":"query","timestamp":1646055640124643,"duration":4.633,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"6f40145390a8133b","trace_id":"d7404ff159409bc3d4f039531dcd2236","duration":12.648,"timestamp":1646055640119023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/379","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/379","full":"http://opbeans-node:3000/api/orders/379"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:40:40 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"ad102c33369bb73f","trace_id":"eaa80d2b32245b2058abc63383b1343f","parent_id":"2aa25612d9848f01","duration":16.293,"timestamp":1646055640143016,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/878","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders/878","full":"http://opbeans-go:3000/api/orders/878"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-eaa80d2b32245b2058abc63383b1343f-2aa25612d9848f01-01","traceparent":"00-eaa80d2b32245b2058abc63383b1343f-2aa25612d9848f01-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:40:40 GMT","connection":"keep-alive","keep-alive":"timeout=5","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"b979b4b464f58b06","transaction_id":"ad102c33369bb73f","parent_id":"ad102c33369bb73f","trace_id":"eaa80d2b32245b2058abc63383b1343f","subtype":"postgresql","action":"query","timestamp":1646055640146403,"duration":10.056,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"6af08afebfafedcb","trace_id":"33cc8ade9ec46b1d42f42558fdfe8ae7","parent_id":"19255fe3879bac27","duration":55.346,"timestamp":1646055640134016,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2/customers","full":"http://opbeans-node:3000/api/products/2/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-33cc8ade9ec46b1d42f42558fdfe8ae7-19255fe3879bac27-01","elastic-apm-traceparent":"00-33cc8ade9ec46b1d42f42558fdfe8ae7-19255fe3879bac27-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"e4763b7c6f912f9b655fa667d293bf0c\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"ac3775a4-e68d-4d36-9929-3bb4044625bd","x-runtime":"0.024504","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:40 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"402cbacbef7f2087","transaction_id":"6af08afebfafedcb","parent_id":"6af08afebfafedcb","trace_id":"33cc8ade9ec46b1d42f42558fdfe8ae7","subtype":"http","action":"GET","timestamp":1646055640137875,"duration":48.054,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/2/customers"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"65f2a5a7612fce37","trace_id":"995141b7eca3a5cb9d50fedf7a45aad2","parent_id":"de3f88efe707a417","duration":84.145,"timestamp":1646055640149013,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2","full":"http://opbeans-node:3000/api/products/2"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-995141b7eca3a5cb9d50fedf7a45aad2-de3f88efe707a417-01","elastic-apm-traceparent":"00-995141b7eca3a5cb9d50fedf7a45aad2-de3f88efe707a417-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:40 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"330","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"139b2b0f722378d9","transaction_id":"65f2a5a7612fce37","parent_id":"65f2a5a7612fce37","trace_id":"995141b7eca3a5cb9d50fedf7a45aad2","subtype":"http","action":"GET","timestamp":1646055640153897,"duration":74.382,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/2"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"99c31e138cbfcf77","trace_id":"995141b7eca3a5cb9d50fedf7a45aad2","parent_id":"80e4bf672faa170d","duration":163.494,"timestamp":1646055640106020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2","full":"http://opbeans-node:3000/api/products/2"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-995141b7eca3a5cb9d50fedf7a45aad2-80e4bf672faa170d-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-995141b7eca3a5cb9d50fedf7a45aad2-80e4bf672faa170d-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:40 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"330","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"7f05f931958b0a22","transaction_id":"99c31e138cbfcf77","parent_id":"99c31e138cbfcf77","trace_id":"995141b7eca3a5cb9d50fedf7a45aad2","subtype":"http","action":"GET","timestamp":1646055640110694,"duration":154.855,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/2"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"5403ec7d9d38d470","transaction_id":"ac2d75dc996edbb4","parent_id":"ac2d75dc996edbb4","trace_id":"5fafc47c582522cd16eab676bba248dd","subtype":"postgresql","action":"query","timestamp":1646055640639995,"duration":14.621,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"9fabbb79d80ffc4c","transaction_id":"ac2d75dc996edbb4","parent_id":"ac2d75dc996edbb4","trace_id":"5fafc47c582522cd16eab676bba248dd","subtype":"postgresql","action":"query","timestamp":1646055640642116,"duration":25.488,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"1fef7c32f49ffbe1","transaction_id":"ac2d75dc996edbb4","parent_id":"ac2d75dc996edbb4","trace_id":"5fafc47c582522cd16eab676bba248dd","subtype":"postgresql","action":"query","timestamp":1646055640646844,"duration":24.082,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"ede6ebf14480d163","transaction_id":"ac2d75dc996edbb4","parent_id":"ac2d75dc996edbb4","trace_id":"5fafc47c582522cd16eab676bba248dd","subtype":"postgresql","action":"query","timestamp":1646055640649156,"duration":25.206,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"af38fd766e614f83","transaction_id":"ac2d75dc996edbb4","parent_id":"ac2d75dc996edbb4","trace_id":"5fafc47c582522cd16eab676bba248dd","subtype":"postgresql","action":"query","timestamp":1646055640682228,"duration":7.728,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"ac2d75dc996edbb4","trace_id":"5fafc47c582522cd16eab676bba248dd","parent_id":"78c0b55bbfc97932","duration":74.648,"timestamp":1646055640629025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/stats","full":"http://opbeans-go:3000/api/stats"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-5fafc47c582522cd16eab676bba248dd-78c0b55bbfc97932-01","traceparent":"00-5fafc47c582522cd16eab676bba248dd-78c0b55bbfc97932-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:40:40 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"b0c3ca77a3b65547","transaction_id":"ac2d75dc996edbb4","parent_id":"ac2d75dc996edbb4","trace_id":"5fafc47c582522cd16eab676bba248dd","subtype":"postgresql","action":"query","timestamp":1646055640680005,"duration":13.043,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"8d62e534f837e611","transaction_id":"ac2d75dc996edbb4","parent_id":"ac2d75dc996edbb4","trace_id":"5fafc47c582522cd16eab676bba248dd","subtype":"postgresql","action":"query","timestamp":1646055640677009,"duration":19.022,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"7b72f8e8329c62e6","trace_id":"505046b53f1d183a39a4ac84dbc38950","duration":171.059,"timestamp":1646055640621035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"203686","content-type":"application/json","date":"Mon, 28 Feb 2022 13:40:40 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"e549021084fc3672","transaction_id":"7b72f8e8329c62e6","parent_id":"7b72f8e8329c62e6","trace_id":"505046b53f1d183a39a4ac84dbc38950","subtype":"http","action":"GET","timestamp":1646055640634562,"duration":153.826,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"POST unknown route","type":"request","result":"HTTP 4xx","id":"6c3979b16033718e","trace_id":"ec203ee8bd429ad06a93666d1e74c56a","parent_id":"f22361b654dc8f82","duration":31.35,"timestamp":1646055640922022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"POST","url":{"raw":"/api/orders/csv","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders/csv","full":"http://opbeans-go:3000/api/orders/csv"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","content-length":"383","accept":"*/*","accept-encoding":"gzip, deflate","content-type":"multipart/form-data; boundary=320cd4e9858d4e4689f740509551a5fb","elastic-apm-traceparent":"00-ec203ee8bd429ad06a93666d1e74c56a-f22361b654dc8f82-01","traceparent":"00-ec203ee8bd429ad06a93666d1e74c56a-f22361b654dc8f82-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"},"body":"[REDACTED]"},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-security-policy":"default-src 'none'","x-content-type-options":"nosniff","content-type":"text/html; charset=utf-8","content-length":"154","date":"Mon, 28 Feb 2022 13:40:40 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"a7659ff25aef4a5a","trace_id":"0d352593352344d9e5772472828ac3f1","duration":14.992,"timestamp":1646055641108022,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:40:41 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"db7d309f42268009","trace_id":"740b2c56f80b3213a4a2e392a376c567","duration":59.856,"timestamp":1646055641615034,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/95","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/95","full":"http://opbeans-node:3000/api/orders/95"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"278","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:41 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"031af356cdb3fa43","transaction_id":"db7d309f42268009","parent_id":"db7d309f42268009","trace_id":"740b2c56f80b3213a4a2e392a376c567","subtype":"http","action":"GET","timestamp":1646055641625614,"duration":26.444,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders/95"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"0924ed1fe0d3ed8a","trace_id":"49ddbe8d10c119eeaaa6b69609611ab1","parent_id":"c1514f5cc28caf5b","duration":24.558,"timestamp":1646055642137089,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:42 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"6ec0becb8d4b19c7","trace_id":"c9ac400fa7cc70d1ec1cab500c7506a5","duration":36.901,"timestamp":1646055642612038,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:40:42 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"200bbbe10fd5afd4","trace_id":"d8638bdc3692269ba0cac81eda24ad98","duration":50.75,"timestamp":1646055643111031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:43 GMT","content-length":"403","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"4e76db0c50e37b8c","transaction_id":"200bbbe10fd5afd4","parent_id":"200bbbe10fd5afd4","trace_id":"d8638bdc3692269ba0cac81eda24ad98","subtype":"http","action":"GET","timestamp":1646055643124015,"duration":21.424,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"1f39b0eac5eb452e","trace_id":"6eafb7bbb8bac0f4787c28f8d5f9184b","duration":26.01,"timestamp":1646055643617065,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:40:43 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"597fba2081522e06","trace_id":"4117ccd9a9d59916105a884cf3fb2a1c","duration":22.766,"timestamp":1646055644114032,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:40:44 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"c94943de8ec5d085","trace_id":"1147d97f3e257c2974de129ae015de0e","parent_id":"ce967d012dc9258e","duration":13.77,"timestamp":1646055644611031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:44 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"4791da69c29bc8b4","trace_id":"4d5b37561b497be8474db7dc1d776114","duration":19.468,"timestamp":1646055645107021,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:40:45 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"9d776f6176708671","transaction_id":"2c899fc51244189b","parent_id":"2c899fc51244189b","trace_id":"cfbce62f0039c23b49170f06f415b047","subtype":"postgresql","action":"query","timestamp":1646055645643702,"duration":6.034,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"3cb86014447bf252","transaction_id":"2c899fc51244189b","parent_id":"2c899fc51244189b","trace_id":"cfbce62f0039c23b49170f06f415b047","subtype":"postgresql","action":"query","timestamp":1646055645651639,"duration":19.038,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"cd84cdceb141b3f0","transaction_id":"2c899fc51244189b","parent_id":"2c899fc51244189b","trace_id":"cfbce62f0039c23b49170f06f415b047","subtype":"postgresql","action":"query","timestamp":1646055645658161,"duration":19.577,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"2c899fc51244189b","trace_id":"cfbce62f0039c23b49170f06f415b047","parent_id":"f03b2a30d89c3651","duration":53.488,"timestamp":1646055645636030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-cfbce62f0039c23b49170f06f415b047-f03b2a30d89c3651-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-cfbce62f0039c23b49170f06f415b047-f03b2a30d89c3651-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:45 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"a48655ba58f37fa6","trace_id":"4a86b8f907ee45f769badf2d0ab8fec0","duration":87.833,"timestamp":1646055645614040,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3","full":"http://opbeans-node:3000/api/products/3"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:45 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"248","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"cd9b064019cc365c","transaction_id":"2c899fc51244189b","parent_id":"2c899fc51244189b","trace_id":"cfbce62f0039c23b49170f06f415b047","subtype":"postgresql","action":"query","timestamp":1646055645660135,"duration":23.681,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"4d5429d371aa5e66","transaction_id":"a48655ba58f37fa6","parent_id":"a48655ba58f37fa6","trace_id":"4a86b8f907ee45f769badf2d0ab8fec0","subtype":"http","action":"GET","timestamp":1646055645626248,"duration":71.898,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/3"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"099960ea928cfe13","transaction_id":"ba49f0ecac564d27","parent_id":"ba49f0ecac564d27","trace_id":"21adf75464b7d8db652f24958ab92691","subtype":"postgresql","action":"query","timestamp":1646055646000033,"duration":3.407,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"4b5bf963344b97ef","transaction_id":"ba49f0ecac564d27","parent_id":"ba49f0ecac564d27","trace_id":"21adf75464b7d8db652f24958ab92691","subtype":"postgresql","action":"query","timestamp":1646055646017366,"duration":8.532,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"ba49f0ecac564d27","trace_id":"21adf75464b7d8db652f24958ab92691","parent_id":"9ba7dd64e9d4ecba","duration":41.827,"timestamp":1646055645991092,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/1","full":"http://opbeans-node:3000/api/types/1"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-21adf75464b7d8db652f24958ab92691-9ba7dd64e9d4ecba-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-21adf75464b7d8db652f24958ab92691-9ba7dd64e9d4ecba-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"217","etag":"W/\"d9-cebOOHODBQMZd1wt+ZZBaSPgQLQ\"","date":"Mon, 28 Feb 2022 13:40:46 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"514869e62d42cd2d","transaction_id":"e5b0f1818a32b2ce","parent_id":"e5b0f1818a32b2ce","trace_id":"3cb1a26d63855486e5c29cbdd4f24226","subtype":"redis","action":null,"timestamp":1646055646055259,"duration":2.215,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"5fa372184dcf9c92","transaction_id":"e5b0f1818a32b2ce","parent_id":"e5b0f1818a32b2ce","trace_id":"3cb1a26d63855486e5c29cbdd4f24226","subtype":"postgresql","action":"query","timestamp":1646055646059008,"duration":3.648,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"e5b0f1818a32b2ce","trace_id":"3cb1a26d63855486e5c29cbdd4f24226","parent_id":"a0ed099115538389","duration":25.014,"timestamp":1646055646051018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types","full":"http://opbeans-go:3000/api/types"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-3cb1a26d63855486e5c29cbdd4f24226-a0ed099115538389-01","traceparent":"00-3cb1a26d63855486e5c29cbdd4f24226-a0ed099115538389-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:40:46 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"c706a1825e224c86","transaction_id":"e90e49202b585609","parent_id":"e90e49202b585609","trace_id":"5dc00f3b1a26dd9522e586b132daefe8","subtype":"postgresql","action":"query","timestamp":1646055646117093,"duration":8.566,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"e90e49202b585609","trace_id":"5dc00f3b1a26dd9522e586b132daefe8","duration":21.079,"timestamp":1646055646108022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5","full":"http://opbeans-node:3000/api/products/5"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"250","etag":"W/\"fa-O2pSp/nl49sefAwhjFNnvOX493Y\"","date":"Mon, 28 Feb 2022 13:40:46 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"70be84f2da9348a7","trace_id":"e9ef9c90a1e9250586e472e31dd5f9ac","parent_id":"32df1d7bf1233471","duration":29.875,"timestamp":1646055646140020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5","full":"http://opbeans-node:3000/api/products/5"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-e9ef9c90a1e9250586e472e31dd5f9ac-32df1d7bf1233471-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-e9ef9c90a1e9250586e472e31dd5f9ac-32df1d7bf1233471-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"250","etag":"W/\"fa-O2pSp/nl49sefAwhjFNnvOX493Y\"","date":"Mon, 28 Feb 2022 13:40:46 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"972c423566f0372b","transaction_id":"70be84f2da9348a7","parent_id":"70be84f2da9348a7","trace_id":"e9ef9c90a1e9250586e472e31dd5f9ac","subtype":"postgresql","action":"query","timestamp":1646055646143976,"duration":15.692,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"c709b9bcbc90bb1e","trace_id":"0c5b8f32bce390db9232e77ba828ed22","parent_id":"231800c0e8b5e6e7","duration":50.419,"timestamp":1646055646205022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers","full":"http://opbeans-go:3000/api/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-0c5b8f32bce390db9232e77ba828ed22-231800c0e8b5e6e7-01","traceparent":"00-0c5b8f32bce390db9232e77ba828ed22-231800c0e8b5e6e7-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:46 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"186769","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"9f024eb3e09d70db","transaction_id":"c709b9bcbc90bb1e","parent_id":"c709b9bcbc90bb1e","trace_id":"0c5b8f32bce390db9232e77ba828ed22","subtype":"http","action":"GET","timestamp":1646055646209438,"duration":39.019,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"bed1117950c57751","trace_id":"a207a8cb6c2bf80b45d63f565d7b82c1","parent_id":"24595607c0b10ae4","duration":35.409,"timestamp":1646055646292022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/9","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders/9","full":"http://opbeans-go:3000/api/orders/9"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-a207a8cb6c2bf80b45d63f565d7b82c1-24595607c0b10ae4-01","traceparent":"00-a207a8cb6c2bf80b45d63f565d7b82c1-24595607c0b10ae4-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:46 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"311","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"6d4b6b9e7bd6721e","transaction_id":"bed1117950c57751","parent_id":"bed1117950c57751","trace_id":"a207a8cb6c2bf80b45d63f565d7b82c1","subtype":"http","action":"GET","timestamp":1646055646295960,"duration":27.461,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/orders/9"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"263659646d9d8ecd","trace_id":"0a9131b04590e10fab69ed6898e243b8","parent_id":"d90bd94e6dc1b8eb","duration":124.266,"timestamp":1646055646275020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-0a9131b04590e10fab69ed6898e243b8-d90bd94e6dc1b8eb-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-0a9131b04590e10fab69ed6898e243b8-d90bd94e6dc1b8eb-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"195dc75dd23c6abbf5c85d7fd3d619d1\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"6b7b272c-24b2-4ee4-9f99-eb06329dd1c6","x-runtime":"0.074281","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:46 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"275f0abe7b6d3c5a","transaction_id":"263659646d9d8ecd","parent_id":"263659646d9d8ecd","trace_id":"0a9131b04590e10fab69ed6898e243b8","subtype":"http","action":"GET","timestamp":1646055646281795,"duration":109.598,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"cbee0e372a19fa48","trace_id":"20b6a0b0631f8ddf9b024ec553cf9c32","parent_id":"c4a741c6015ed587","duration":120.632,"timestamp":1646055646407031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/stats","full":"http://opbeans-go:3000/api/stats"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-20b6a0b0631f8ddf9b024ec553cf9c32-c4a741c6015ed587-01","traceparent":"00-20b6a0b0631f8ddf9b024ec553cf9c32-c4a741c6015ed587-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:46 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"110","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"cd308bf5460c5509","transaction_id":"cbee0e372a19fa48","parent_id":"cbee0e372a19fa48","trace_id":"20b6a0b0631f8ddf9b024ec553cf9c32","subtype":"http","action":"GET","timestamp":1646055646450794,"duration":71.394,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"a7afa936500e8965","transaction_id":"073d7eb458045e19","parent_id":"073d7eb458045e19","trace_id":"e405fb080b2f2c82230d8b517e2d7468","subtype":"postgresql","action":"query","timestamp":1646055646563479,"duration":3.533,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 4xx","id":"073d7eb458045e19","trace_id":"e405fb080b2f2c82230d8b517e2d7468","parent_id":"e8f4d53276e0ef70","duration":12.837,"timestamp":1646055646557020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/6223","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/6223","full":"http://opbeans-go:3000/api/customers/6223"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-e405fb080b2f2c82230d8b517e2d7468-e8f4d53276e0ef70-01","traceparent":"00-e405fb080b2f2c82230d8b517e2d7468-e8f4d53276e0ef70-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:40:46 GMT","connection":"keep-alive","keep-alive":"timeout=5","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"374d0ab44189d8f0","transaction_id":"93daaf20fd226b89","parent_id":"93daaf20fd226b89","trace_id":"7a4b020b5b51af0fdce2505c61a52017","subtype":"postgresql","action":"query","timestamp":1646055646615805,"duration":7.127,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"93daaf20fd226b89","trace_id":"7a4b020b5b51af0fdce2505c61a52017","duration":19.152,"timestamp":1646055646611022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4/customers","full":"http://opbeans-node:3000/api/products/4/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:40:46 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"5a418d3623bde0c4","trace_id":"43e2cdd4552cbad3f2308497e9814c87","parent_id":"ca3f155852e035fb","duration":31.703,"timestamp":1646055646795021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/677","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/677","full":"http://opbeans-node:3000/api/customers/677"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-43e2cdd4552cbad3f2308497e9814c87-ca3f155852e035fb-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-43e2cdd4552cbad3f2308497e9814c87-ca3f155852e035fb-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:46 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"203","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"8d6244641858c8b2","transaction_id":"5a418d3623bde0c4","parent_id":"5a418d3623bde0c4","trace_id":"43e2cdd4552cbad3f2308497e9814c87","subtype":"http","action":"GET","timestamp":1646055646799339,"duration":22.06,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers/677"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"9ec3eea4299d706c","transaction_id":"69a3e5d38e3ee49d","parent_id":"69a3e5d38e3ee49d","trace_id":"64dab799174ae2588a34ac39aa993e9e","subtype":"postgresql","action":"query","timestamp":1646055646932905,"duration":4.349,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"d740b15bad07806b","transaction_id":"69a3e5d38e3ee49d","parent_id":"69a3e5d38e3ee49d","trace_id":"64dab799174ae2588a34ac39aa993e9e","subtype":"postgresql","action":"query","timestamp":1646055646938695,"duration":5.172,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"69a3e5d38e3ee49d","trace_id":"64dab799174ae2588a34ac39aa993e9e","parent_id":"be03c4c47b35b2c9","duration":25.348,"timestamp":1646055646928024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/3","full":"http://opbeans-go:3000/api/types/3"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-64dab799174ae2588a34ac39aa993e9e-be03c4c47b35b2c9-01","traceparent":"00-64dab799174ae2588a34ac39aa993e9e-be03c4c47b35b2c9-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"189","etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","date":"Mon, 28 Feb 2022 13:40:46 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"0deb9a662b0cca61","trace_id":"057ac3b2870ff4d0d2774390d162b38e","parent_id":"8333a2be02771f3e","duration":54.316,"timestamp":1646055647053042,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types","full":"http://opbeans-go:3000/api/types"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-057ac3b2870ff4d0d2774390d162b38e-8333a2be02771f3e-01","traceparent":"00-057ac3b2870ff4d0d2774390d162b38e-8333a2be02771f3e-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"112","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:47 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"12e387d443cc4fcb","transaction_id":"0deb9a662b0cca61","parent_id":"0deb9a662b0cca61","trace_id":"057ac3b2870ff4d0d2774390d162b38e","subtype":"http","action":"GET","timestamp":1646055647059320,"duration":38.396,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b293a0f806d23f65","trace_id":"6a059097c656b024627bee9b052ccf5b","duration":35.604,"timestamp":1646055647122020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:47 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"9ff3d31893fdaa8f","transaction_id":"b293a0f806d23f65","parent_id":"b293a0f806d23f65","trace_id":"6a059097c656b024627bee9b052ccf5b","subtype":"http","action":"GET","timestamp":1646055647126474,"duration":27.385,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"7778bb19d1a5066d","trace_id":"d711a1f75a2138eaab2dd103d02fd4f2","parent_id":"afced30947a17350","duration":35.636,"timestamp":1646055647137026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/96","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/96","full":"http://opbeans-go:3000/api/customers/96"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-d711a1f75a2138eaab2dd103d02fd4f2-afced30947a17350-01","traceparent":"00-d711a1f75a2138eaab2dd103d02fd4f2-afced30947a17350-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"185","etag":"W/\"b9-mWXXbPC4ukVf3r6ExB2E7yjqPE4\"","date":"Mon, 28 Feb 2022 13:40:47 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"9c1f8df531f388c2","transaction_id":"7778bb19d1a5066d","parent_id":"7778bb19d1a5066d","trace_id":"d711a1f75a2138eaab2dd103d02fd4f2","subtype":"postgresql","action":"query","timestamp":1646055647143713,"duration":23.071,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"4ef554602cb48d5f","trace_id":"b5511e05fd9a05ab558e69ef26bfc019","parent_id":"8eb5cfbebe47ce4f","duration":49.107,"timestamp":1646055647334039,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers","full":"http://opbeans-go:3000/api/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-b5511e05fd9a05ab558e69ef26bfc019-8eb5cfbebe47ce4f-01","traceparent":"00-b5511e05fd9a05ab558e69ef26bfc019-8eb5cfbebe47ce4f-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"37992d7e5d1df22332cd7c5be552ddce\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"3e8b5d9e-d8a0-4d28-87c6-4ada240b42e1","x-runtime":"0.016792","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:47 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"047be2d0f2814bfe","transaction_id":"4ef554602cb48d5f","parent_id":"4ef554602cb48d5f","trace_id":"b5511e05fd9a05ab558e69ef26bfc019","subtype":"http","action":"GET","timestamp":1646055647340606,"duration":33.977,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"806865953f987b2d","trace_id":"84e8975aebda998754223d3e742e9f3c","parent_id":"dce193886b917bbf","duration":44.994,"timestamp":1646055647425026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types","full":"http://opbeans-go:3000/api/types"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-84e8975aebda998754223d3e742e9f3c-dce193886b917bbf-01","traceparent":"00-84e8975aebda998754223d3e742e9f3c-dce193886b917bbf-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:47 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"123","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"b76d5afd0591e906","transaction_id":"806865953f987b2d","parent_id":"806865953f987b2d","trace_id":"84e8975aebda998754223d3e742e9f3c","subtype":"http","action":"GET","timestamp":1646055647433055,"duration":33.194,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"3e242428a4d08614","transaction_id":"760570720ad6b1ff","parent_id":"760570720ad6b1ff","trace_id":"80a01c36ab03387e757c8d78243d796c","subtype":"http","action":"GET","timestamp":1646055647483306,"duration":9.591,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"760570720ad6b1ff","trace_id":"80a01c36ab03387e757c8d78243d796c","parent_id":"b966fbefe8c0898a","duration":15.35,"timestamp":1646055647479023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-80a01c36ab03387e757c8d78243d796c-b966fbefe8c0898a-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-80a01c36ab03387e757c8d78243d796c-b966fbefe8c0898a-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:47 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"Send receipt email","type":"custom","id":"00848e397717ef10","transaction_id":"4cc5b61ed926413b","parent_id":"4cc5b61ed926413b","trace_id":"2955247329677a1e4b9afab14a3b86b3","subtype":null,"action":null,"timestamp":1646055647199922,"duration":361.281,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":33,"function":"processCompletedOrder","library_frame":false,"abs_path":"/app/worker.js","pre_context":[""," apm.startTransaction('Process completed order', 'Worker')"],"context_line":" performSubTasks(['Send receipt email', 'Update inventory'], function () {","post_context":[" apm.endTransaction()"," queue(processCompletedOrder)"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"425767e0bba6035a","transaction_id":"5ebe6962e503369c","parent_id":"5ebe6962e503369c","trace_id":"48135a08cfcc94cea454248fe0d4e610","subtype":"redis","action":null,"timestamp":1646055647640524,"duration":1.927,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"fc97dba1c851f3eb","transaction_id":"5ebe6962e503369c","parent_id":"5ebe6962e503369c","trace_id":"48135a08cfcc94cea454248fe0d4e610","subtype":"postgresql","action":"query","timestamp":1646055647644152,"duration":42.72,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"5ebe6962e503369c","trace_id":"48135a08cfcc94cea454248fe0d4e610","parent_id":"7f9bf17ee0231c01","duration":106.072,"timestamp":1646055647632072,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-48135a08cfcc94cea454248fe0d4e610-7f9bf17ee0231c01-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-48135a08cfcc94cea454248fe0d4e610-7f9bf17ee0231c01-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:40:47 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"09f7b0cd76c574f9","trace_id":"5a843cef6d96c2d4ebf0b2db7bd049d7","parent_id":"4a3baf29b61f159d","duration":46.742,"timestamp":1646055647753030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-5a843cef6d96c2d4ebf0b2db7bd049d7-4a3baf29b61f159d-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-5a843cef6d96c2d4ebf0b2db7bd049d7-4a3baf29b61f159d-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:47 GMT","content-length":"403","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"1209459a2195a0cd","transaction_id":"09f7b0cd76c574f9","parent_id":"09f7b0cd76c574f9","trace_id":"5a843cef6d96c2d4ebf0b2db7bd049d7","subtype":"http","action":"GET","timestamp":1646055647772509,"duration":21.328,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"4fa93b54e57b6497","trace_id":"5a843cef6d96c2d4ebf0b2db7bd049d7","duration":224.063,"timestamp":1646055647617033,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:47 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"6b80742990782127","transaction_id":"4fa93b54e57b6497","parent_id":"4fa93b54e57b6497","trace_id":"5a843cef6d96c2d4ebf0b2db7bd049d7","subtype":"http","action":"GET","timestamp":1646055647622593,"duration":214.316,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"c0a5593f9629bbad","trace_id":"d3e462ae4ff52dcd6dcaeab26b7f514e","parent_id":"fe17e29c89503765","duration":15.552,"timestamp":1646055647909023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:47 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"28c792474f02be7f","trace_id":"5c991867b1a387f7a2e29f89fb2f16c0","parent_id":"5e35eb2428d2a5bd","duration":23.442,"timestamp":1646055648113032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:48 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"061efe54e97996ef","trace_id":"4b400b9d70d7c17e345ceb29140cbf8a","parent_id":"accb36ea20206314","duration":45.093,"timestamp":1646055648313041,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/652","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/652","full":"http://opbeans-go:3000/api/customers/652"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-4b400b9d70d7c17e345ceb29140cbf8a-accb36ea20206314-01","traceparent":"00-4b400b9d70d7c17e345ceb29140cbf8a-accb36ea20206314-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:48 GMT","content-length":"188","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"5b6bff9d5f48acdf","transaction_id":"061efe54e97996ef","parent_id":"061efe54e97996ef","trace_id":"4b400b9d70d7c17e345ceb29140cbf8a","subtype":"http","action":"GET","timestamp":1646055648328105,"duration":19.867,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers/652"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"Process completed order","type":"Worker","result":"success","id":"4cc5b61ed926413b","trace_id":"2955247329677a1e4b9afab14a3b86b3","duration":1198.979,"timestamp":1646055647197030,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{}},"span_count":{"started":2},"outcome":"unknown","sample_rate":1}} +{"span":{"name":"Update inventory","type":"custom","id":"4c2b24a317b14465","transaction_id":"4cc5b61ed926413b","parent_id":"4cc5b61ed926413b","trace_id":"2955247329677a1e4b9afab14a3b86b3","subtype":null,"action":null,"timestamp":1646055647567197,"duration":820.97,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":55,"function":"Timeout._onTimeout","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"],"context_line":" performSubTasks(tasks, cb)","post_context":[" }, Math.random() * 20).unref()"," })"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b066e45c78f093b2","trace_id":"9d492a25940f6a13793fa6736f430961","parent_id":"1f64d17289c30357","duration":51.665,"timestamp":1646055648446027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers?limit=80","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5/customers","search":"?limit=80","full":"http://opbeans-node:3000/api/products/5/customers?limit=80"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-9d492a25940f6a13793fa6736f430961-1f64d17289c30357-01","elastic-apm-traceparent":"00-9d492a25940f6a13793fa6736f430961-1f64d17289c30357-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:48 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"55dd5b692795b7b4","transaction_id":"b066e45c78f093b2","parent_id":"b066e45c78f093b2","trace_id":"9d492a25940f6a13793fa6736f430961","subtype":"http","action":"GET","timestamp":1646055648457635,"duration":26.397,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/5/customers?limit=80"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"89da22335dea05f3","trace_id":"83bc1a68c1368c35ada4beef5136a1f0","parent_id":"86e960c12c221934","duration":33.443,"timestamp":1646055648699043,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/263","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders/263","full":"http://opbeans-go:3000/api/orders/263"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-83bc1a68c1368c35ada4beef5136a1f0-86e960c12c221934-01","traceparent":"00-83bc1a68c1368c35ada4beef5136a1f0-86e960c12c221934-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:40:48 GMT","connection":"keep-alive","keep-alive":"timeout=5","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"1cf997a1c35fa0e8","transaction_id":"89da22335dea05f3","parent_id":"89da22335dea05f3","trace_id":"83bc1a68c1368c35ada4beef5136a1f0","subtype":"postgresql","action":"query","timestamp":1646055648711316,"duration":12.62,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"44488bde4df03430","trace_id":"83bc1a68c1368c35ada4beef5136a1f0","duration":94.925,"timestamp":1646055648652031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/263","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/263","full":"http://opbeans-node:3000/api/orders/263"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-type":"text/plain","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:48 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"40c8d0b8062c9d58","transaction_id":"44488bde4df03430","parent_id":"44488bde4df03430","trace_id":"83bc1a68c1368c35ada4beef5136a1f0","subtype":"http","action":"GET","timestamp":1646055648672399,"duration":69.336,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-ruby:3000/api/orders/263"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"f30e492021775d7c","trace_id":"cbf2d401dd8d4cadb1450a1c615a61cb","duration":58.851,"timestamp":1646055649138029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/460","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/460","full":"http://opbeans-node:3000/api/customers/460"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:49 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"204","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"1c546c77108e328b","transaction_id":"f30e492021775d7c","parent_id":"f30e492021775d7c","trace_id":"cbf2d401dd8d4cadb1450a1c615a61cb","subtype":"http","action":"GET","timestamp":1646055649142847,"duration":48.654,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers/460"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"1dba5fd138518e0a","transaction_id":"ccc4f0caa3d566cb","parent_id":"ccc4f0caa3d566cb","trace_id":"471d2834419a0de74ab7210dbb6726b2","subtype":"postgresql","action":"query","timestamp":1646055649651560,"duration":6.491,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"ccc4f0caa3d566cb","trace_id":"471d2834419a0de74ab7210dbb6726b2","duration":69.192,"timestamp":1646055649640032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:49 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"6930c06141b82371","transaction_id":"ccc4f0caa3d566cb","parent_id":"ccc4f0caa3d566cb","trace_id":"471d2834419a0de74ab7210dbb6726b2","subtype":"postgresql","action":"query","timestamp":1646055649665303,"duration":17.136,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"8cbf0cd138f1ed8b","transaction_id":"ccc4f0caa3d566cb","parent_id":"ccc4f0caa3d566cb","trace_id":"471d2834419a0de74ab7210dbb6726b2","subtype":"postgresql","action":"query","timestamp":1646055649670476,"duration":19.863,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ee19d92d61611816","transaction_id":"ccc4f0caa3d566cb","parent_id":"ccc4f0caa3d566cb","trace_id":"471d2834419a0de74ab7210dbb6726b2","subtype":"postgresql","action":"query","timestamp":1646055649676111,"duration":21.825,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"e5d9838f106aae51","trace_id":"295a48ffc01749a5a80997ae6d9dcf4f","duration":42.837,"timestamp":1646055650117028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:50 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"42823e874866895d","transaction_id":"e5d9838f106aae51","parent_id":"e5d9838f106aae51","trace_id":"295a48ffc01749a5a80997ae6d9dcf4f","subtype":"http","action":"GET","timestamp":1646055650122639,"duration":33.91,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"Validate CC","type":"custom","id":"dff801550e38b3bd","transaction_id":"a59d4c801b33407c","parent_id":"a59d4c801b33407c","trace_id":"70efae4d99094fafb421ce111ad03266","subtype":null,"action":null,"timestamp":1646055649571299,"duration":708.423,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":23,"function":"processPayment","library_frame":false,"abs_path":"/app/worker.js","pre_context":[""," apm.startTransaction('Process payment', 'Worker')"],"context_line":" performSubTasks(['Validate CC', 'Reserve funds'], function () {","post_context":[" apm.endTransaction()"," queue(processPayment)"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"Process payment","type":"Worker","result":"success","id":"a59d4c801b33407c","trace_id":"70efae4d99094fafb421ce111ad03266","duration":1025.21,"timestamp":1646055649569059,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{}},"span_count":{"started":2},"outcome":"unknown","sample_rate":1}} +{"span":{"name":"Reserve funds","type":"custom","id":"e9e1473903109c93","transaction_id":"a59d4c801b33407c","parent_id":"a59d4c801b33407c","trace_id":"70efae4d99094fafb421ce111ad03266","subtype":null,"action":null,"timestamp":1646055650297936,"duration":293.672,"stacktrace":[{"filename":"worker.js","lineno":63,"function":"performSubTask","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" const span = apm.startSpan(name)","post_context":[""," setTimeout(function () {"]},{"filename":"worker.js","lineno":52,"function":"performSubTasks","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (!running) return",""],"context_line":" performSubTask(tasks.shift(), function () {","post_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"]},{"filename":"worker.js","lineno":55,"function":"Timeout._onTimeout","library_frame":false,"abs_path":"/app/worker.js","pre_context":[" if (tasks.length === 0) return cb()"," setTimeout(function () {"],"context_line":" performSubTasks(tasks, cb)","post_context":[" }, Math.random() * 20).unref()"," })"]},{"filename":"internal/timers.js","lineno":557,"function":"listOnTimeout","library_frame":true,"abs_path":"internal/timers.js"},{"filename":"internal/timers.js","lineno":500,"function":"processTimers","library_frame":true,"abs_path":"internal/timers.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"8caa4c8734fb8b66","transaction_id":"3abc1ac769dc1ad2","parent_id":"3abc1ac769dc1ad2","trace_id":"02c4019da976a9f2252325916e4bcb41","subtype":"redis","action":null,"timestamp":1646055650699585,"duration":7.005,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"c51d9bb47d17db3a","transaction_id":"3abc1ac769dc1ad2","parent_id":"3abc1ac769dc1ad2","trace_id":"02c4019da976a9f2252325916e4bcb41","subtype":"postgresql","action":"query","timestamp":1646055650708089,"duration":8.465,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"3abc1ac769dc1ad2","trace_id":"02c4019da976a9f2252325916e4bcb41","parent_id":"f819d3691861ab88","duration":41.13,"timestamp":1646055650690044,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products","full":"http://opbeans-go:3000/api/products"},"headers":{"host":"opbeans-go:3000","elastic-apm-traceparent":"00-02c4019da976a9f2252325916e4bcb41-f819d3691861ab88-01","traceparent":"00-02c4019da976a9f2252325916e4bcb41-f819d3691861ab88-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.10","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:40:50 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"7628fc69b6b248d7","trace_id":"02c4019da976a9f2252325916e4bcb41","duration":109.525,"timestamp":1646055650657040,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"1023","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:50 GMT","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"64c927a17dce8676","transaction_id":"7628fc69b6b248d7","parent_id":"7628fc69b6b248d7","trace_id":"02c4019da976a9f2252325916e4bcb41","subtype":"http","action":"GET","timestamp":1646055650669285,"duration":83.908,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"847fbba92301dc11","trace_id":"f0a9c0557e739039262e452603dd0694","duration":30.364,"timestamp":1646055651122041,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:51 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"017212fc01dc0677","transaction_id":"847fbba92301dc11","parent_id":"847fbba92301dc11","trace_id":"f0a9c0557e739039262e452603dd0694","subtype":"http","action":"GET","timestamp":1646055651127863,"duration":20.171,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"620a5f62b71f90fe","trace_id":"fafbd73d515a67ea43fb1298ce4abac4","parent_id":"40dab849730275d1","duration":17.491,"timestamp":1646055651626048,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:51 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"926f2c15d470cc69","transaction_id":"f59afb3107a90b47","parent_id":"f59afb3107a90b47","trace_id":"02aa9a46fa70b61be0b613ae7340f64a","subtype":"redis","action":null,"timestamp":1646055652120209,"duration":1.738,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"c2a4fb6221fbaef6","transaction_id":"f59afb3107a90b47","parent_id":"f59afb3107a90b47","trace_id":"02aa9a46fa70b61be0b613ae7340f64a","subtype":"postgresql","action":"query","timestamp":1646055652123877,"duration":7.705,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"f59afb3107a90b47","trace_id":"02aa9a46fa70b61be0b613ae7340f64a","duration":40.483,"timestamp":1646055652115023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:40:52 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"7fb1688ffbd80bd3","trace_id":"4d14badf3b2aa5c1346a71e8028b608c","parent_id":"3fcddac1e15bac87","duration":29.601,"timestamp":1646055652619029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:52 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"d2c9df8e9412263d","transaction_id":"b7ff2b9175aadc90","parent_id":"b7ff2b9175aadc90","trace_id":"db91271461bb66f1a5c7ae44f4819e02","subtype":"postgresql","action":"query","timestamp":1646055653144021,"duration":6.493,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"b7ff2b9175aadc90","trace_id":"db91271461bb66f1a5c7ae44f4819e02","duration":33.657,"timestamp":1646055653133029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/152","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/152","full":"http://opbeans-node:3000/api/orders/152"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:40:53 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"b6bdb61ac1a26e65","transaction_id":"dc72cee8aebd09f3","parent_id":"dc72cee8aebd09f3","trace_id":"1e864f53e4cb428cf2a6e9db95ea8137","subtype":"postgresql","action":"query","timestamp":1646055653654792,"duration":6.852,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"dc72cee8aebd09f3","trace_id":"1e864f53e4cb428cf2a6e9db95ea8137","duration":35.796,"timestamp":1646055653643037,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/882","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/882","full":"http://opbeans-node:3000/api/customers/882"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"180","etag":"W/\"b4-zyeLzOjFWTL7/aYPUm4jDjyczwo\"","date":"Mon, 28 Feb 2022 13:40:53 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"be204d38e3561cfd","trace_id":"62da894e036f01606ebe8207e6f3f425","parent_id":"c1af16dd056722b7","duration":43.663,"timestamp":1646055654170045,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:54 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"adf302ea91c2b0f2","transaction_id":"51f04fe03b5684a2","parent_id":"51f04fe03b5684a2","trace_id":"e87cc72c350988028d74523b7e6012d2","subtype":"postgresql","action":"query","timestamp":1646055654651850,"duration":6.236,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"51f04fe03b5684a2","trace_id":"e87cc72c350988028d74523b7e6012d2","duration":81.5,"timestamp":1646055654630050,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:54 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"e64e8830479beb6b","transaction_id":"51f04fe03b5684a2","parent_id":"51f04fe03b5684a2","trace_id":"e87cc72c350988028d74523b7e6012d2","subtype":"postgresql","action":"query","timestamp":1646055654662983,"duration":18.617,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"a33a96e644c5f7cb","transaction_id":"51f04fe03b5684a2","parent_id":"51f04fe03b5684a2","trace_id":"e87cc72c350988028d74523b7e6012d2","subtype":"postgresql","action":"query","timestamp":1646055654670953,"duration":20.685,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"635acbb0a329715b","transaction_id":"51f04fe03b5684a2","parent_id":"51f04fe03b5684a2","trace_id":"e87cc72c350988028d74523b7e6012d2","subtype":"postgresql","action":"query","timestamp":1646055654675378,"duration":23.064,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"5ca6f72cdc679cb1","trace_id":"9d9fcfd70650c874742272aef69fff59","parent_id":"c3ece61b7b5d6a6d","duration":6414.99,"timestamp":1646055648375030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders","full":"http://opbeans-go:3000/api/orders"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-9d9fcfd70650c874742272aef69fff59-c3ece61b7b5d6a6d-01","traceparent":"00-9d9fcfd70650c874742272aef69fff59-c3ece61b7b5d6a6d-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:54 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"108580","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"47d2fb6dde5cd4ea","transaction_id":"5ca6f72cdc679cb1","parent_id":"5ca6f72cdc679cb1","trace_id":"9d9fcfd70650c874742272aef69fff59","subtype":"http","action":"GET","timestamp":1646055648418610,"duration":6350.916,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"6769b50daedd123a","transaction_id":"e60a34176e8a565a","parent_id":"e60a34176e8a565a","trace_id":"ad724428e9a2273d3eac067a5b0f6823","subtype":"postgresql","action":"query","timestamp":1646055655027999,"duration":3.864,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"e60a34176e8a565a","trace_id":"ad724428e9a2273d3eac067a5b0f6823","parent_id":"98fb8b6878054aa5","duration":84.201,"timestamp":1646055655018040,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-ad724428e9a2273d3eac067a5b0f6823-98fb8b6878054aa5-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-ad724428e9a2273d3eac067a5b0f6823-98fb8b6878054aa5-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:55 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"384c6fcef5f763aa","transaction_id":"e60a34176e8a565a","parent_id":"e60a34176e8a565a","trace_id":"ad724428e9a2273d3eac067a5b0f6823","subtype":"postgresql","action":"query","timestamp":1646055655036024,"duration":30.102,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"4a4f849cafaa47f8","transaction_id":"e60a34176e8a565a","parent_id":"e60a34176e8a565a","trace_id":"ad724428e9a2273d3eac067a5b0f6823","subtype":"postgresql","action":"query","timestamp":1646055655037839,"duration":39.414,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"a42f335a7d5ea785","transaction_id":"e60a34176e8a565a","parent_id":"e60a34176e8a565a","trace_id":"ad724428e9a2273d3eac067a5b0f6823","subtype":"postgresql","action":"query","timestamp":1646055655054764,"duration":31.316,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"dbe744594e4e9e87","trace_id":"da92ef18db2d7590e0d4d8f7123cb511","parent_id":"9e17f5c23c2928ec","duration":28.906,"timestamp":1646055655151041,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:55 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"bbb6325b45367262","transaction_id":"fbc638df645fe6b8","parent_id":"fbc638df645fe6b8","trace_id":"61ac27690a3c4173e2650c5a09082097","subtype":"postgresql","action":"query","timestamp":1646055655389135,"duration":9.79,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"fbc638df645fe6b8","trace_id":"61ac27690a3c4173e2650c5a09082097","parent_id":"8d135958518388d1","duration":46.231,"timestamp":1646055655362035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/4","full":"http://opbeans-node:3000/api/products/4"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-61ac27690a3c4173e2650c5a09082097-8d135958518388d1-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-61ac27690a3c4173e2650c5a09082097-8d135958518388d1-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"243","etag":"W/\"f3-6sVO4eOixKeSqLsiOclAUoIfJnQ\"","date":"Mon, 28 Feb 2022 13:40:55 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"70e9f64901a22fe4","trace_id":"51d7cc1bf85814e6e69575151749552d","parent_id":"d8c2768d14b54103","duration":68.096,"timestamp":1646055655692027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2","full":"http://opbeans-node:3000/api/products/2"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-51d7cc1bf85814e6e69575151749552d-d8c2768d14b54103-01","elastic-apm-traceparent":"00-51d7cc1bf85814e6e69575151749552d-d8c2768d14b54103-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:55 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"259","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"5b62771f41e2106e","transaction_id":"70e9f64901a22fe4","parent_id":"70e9f64901a22fe4","trace_id":"51d7cc1bf85814e6e69575151749552d","subtype":"http","action":"GET","timestamp":1646055655701634,"duration":42.759,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/2"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"5ed9a3a342e8edf5","trace_id":"8f22a461b160b781899b619326b118d9","duration":197.923,"timestamp":1646055655627040,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:55 GMT","connection":"close","transfer-encoding":"chunked","content-type":"application/json","x-frame-options":"DENY","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"10cd93b0583ea619","transaction_id":"5ed9a3a342e8edf5","parent_id":"5ed9a3a342e8edf5","trace_id":"8f22a461b160b781899b619326b118d9","subtype":"http","action":"GET","timestamp":1646055655638120,"duration":182.889,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"cc8b92541c78e496","trace_id":"6d289f37bd7cbf6024ade2cdf27d2d4f","parent_id":"1f415d472e3cefa7","duration":30.675,"timestamp":1646055655805032,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/2","full":"http://opbeans-go:3000/api/products/2"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-6d289f37bd7cbf6024ade2cdf27d2d4f-1f415d472e3cefa7-01","traceparent":"00-6d289f37bd7cbf6024ade2cdf27d2d4f-1f415d472e3cefa7-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"242","etag":"W/\"f2-TrZrMcMTUtdW6GY8TQq8W/JG3iU\"","date":"Mon, 28 Feb 2022 13:40:55 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"655ab104eb4fa7a8","transaction_id":"cc8b92541c78e496","parent_id":"cc8b92541c78e496","trace_id":"6d289f37bd7cbf6024ade2cdf27d2d4f","subtype":"postgresql","action":"query","timestamp":1646055655813319,"duration":17.183,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"0345f309d0f17a87","trace_id":"7d8d2d168b01715ad01564a41a264e9d","parent_id":"2e88bb5665eb89d2","duration":84.253,"timestamp":1646055655956023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-7d8d2d168b01715ad01564a41a264e9d-2e88bb5665eb89d2-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-7d8d2d168b01715ad01564a41a264e9d-2e88bb5665eb89d2-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:56 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"110","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"9265bf351ebd2259","transaction_id":"0345f309d0f17a87","parent_id":"0345f309d0f17a87","trace_id":"7d8d2d168b01715ad01564a41a264e9d","subtype":"http","action":"GET","timestamp":1646055655960631,"duration":65.516,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"adab27c236db2ea4","transaction_id":"0ce2e3fbf2d64656","parent_id":"0ce2e3fbf2d64656","trace_id":"69a0ba33ab3dddaff12e7745bd65f554","subtype":"postgresql","action":"query","timestamp":1646055656141045,"duration":17.872,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"0ce2e3fbf2d64656","trace_id":"69a0ba33ab3dddaff12e7745bd65f554","duration":82.247,"timestamp":1646055656122035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:56 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"bd7d62c7a6a0f539","transaction_id":"0ce2e3fbf2d64656","parent_id":"0ce2e3fbf2d64656","trace_id":"69a0ba33ab3dddaff12e7745bd65f554","subtype":"postgresql","action":"query","timestamp":1646055656169891,"duration":18.381,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"7a4c3d6e35be92a9","transaction_id":"0ce2e3fbf2d64656","parent_id":"0ce2e3fbf2d64656","trace_id":"69a0ba33ab3dddaff12e7745bd65f554","subtype":"postgresql","action":"query","timestamp":1646055656177297,"duration":13.938,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f4fc4af9ea05314e","transaction_id":"0ce2e3fbf2d64656","parent_id":"0ce2e3fbf2d64656","trace_id":"69a0ba33ab3dddaff12e7745bd65f554","subtype":"postgresql","action":"query","timestamp":1646055656179296,"duration":15.323,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"8814000040e3e71b","transaction_id":"0542aa0a763b4a8a","parent_id":"0542aa0a763b4a8a","trace_id":"dde751d65181151f1e302643901e5806","subtype":"redis","action":null,"timestamp":1646055656228560,"duration":3.246,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"df89d26d1d41110f","transaction_id":"0542aa0a763b4a8a","parent_id":"0542aa0a763b4a8a","trace_id":"dde751d65181151f1e302643901e5806","subtype":"postgresql","action":"query","timestamp":1646055656239430,"duration":42.087,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"0542aa0a763b4a8a","trace_id":"dde751d65181151f1e302643901e5806","parent_id":"e38777ff5a8a5802","duration":96.006,"timestamp":1646055656218022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-dde751d65181151f1e302643901e5806-e38777ff5a8a5802-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-dde751d65181151f1e302643901e5806-e38777ff5a8a5802-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:40:56 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"d4556b8ff8391c1f","trace_id":"833e4884e495c87f6b20c332f5aece32","parent_id":"50fe699cef54c01c","duration":68.445,"timestamp":1646055656345039,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/1","full":"http://opbeans-node:3000/api/products/1"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-833e4884e495c87f6b20c332f5aece32-50fe699cef54c01c-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-833e4884e495c87f6b20c332f5aece32-50fe699cef54c01c-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"231","etag":"W/\"e7-6JlJegaJ+ir0C8I8EmmOjms1dnc\"","date":"Mon, 28 Feb 2022 13:40:56 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"5df5495106096f61","transaction_id":"d4556b8ff8391c1f","parent_id":"d4556b8ff8391c1f","trace_id":"833e4884e495c87f6b20c332f5aece32","subtype":"postgresql","action":"query","timestamp":1646055656354894,"duration":43.434,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"6301dc8f7986761d","trace_id":"00bae03986699010c3e502df4135359c","parent_id":"a2a473af46381af2","duration":18.854,"timestamp":1646055656620023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:56 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"d762f3a7b104cb32","transaction_id":"678abf38df874d08","parent_id":"678abf38df874d08","trace_id":"fb03ae0fd63fe205009402641b2bbe7f","subtype":"postgresql","action":"query","timestamp":1646055657146325,"duration":8.02,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"678abf38df874d08","trace_id":"fb03ae0fd63fe205009402641b2bbe7f","duration":27.589,"timestamp":1646055657136026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/60","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/60","full":"http://opbeans-node:3000/api/orders/60"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:40:57 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"ab90c3d55d63b55d","trace_id":"fbd26c502daba0c49d01089fc2040701","duration":140.386,"timestamp":1646055657624028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"203686","content-type":"application/json","date":"Mon, 28 Feb 2022 13:40:57 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"2abb1587060177c1","transaction_id":"ab90c3d55d63b55d","parent_id":"ab90c3d55d63b55d","trace_id":"fbd26c502daba0c49d01089fc2040701","subtype":"http","action":"GET","timestamp":1646055657633538,"duration":86.698,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"8e1b64464521d6ac","trace_id":"1f685458c771ab9b6acb3a30d47f6f15","parent_id":"cf94fb2ec035592b","duration":25.272,"timestamp":1646055658004056,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:58 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"47a00b16fdfba1ab","trace_id":"d9186347e892deb2666630e8237ba5ea","duration":10.109,"timestamp":1646055658129041,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:40:58 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"feef35f943701edd","trace_id":"b8618dd484ec9d80a48ced0fa94a59de","parent_id":"37a66024dd5bf085","duration":14.455,"timestamp":1646055658631041,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:58 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"35fdfb373ac48678","trace_id":"cec8cdf159e371186fbd4ea2b8712273","parent_id":"7992920ab1b9a72f","duration":128.457,"timestamp":1646055658674021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-cec8cdf159e371186fbd4ea2b8712273-7992920ab1b9a72f-01","elastic-apm-traceparent":"00-cec8cdf159e371186fbd4ea2b8712273-7992920ab1b9a72f-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:58 GMT","connection":"close","transfer-encoding":"chunked","content-type":"application/json","x-frame-options":"DENY","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"7490861b06a3e157","transaction_id":"35fdfb373ac48678","parent_id":"35fdfb373ac48678","trace_id":"cec8cdf159e371186fbd4ea2b8712273","subtype":"http","action":"GET","timestamp":1646055658679378,"duration":115.815,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"ced791e8b4b19121","transaction_id":"44d4bc42f0651011","parent_id":"44d4bc42f0651011","trace_id":"19647ef072491a36029075b01ff9edde","subtype":"postgresql","action":"query","timestamp":1646055658896529,"duration":6.689,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"b48b6633909ccede","transaction_id":"44d4bc42f0651011","parent_id":"44d4bc42f0651011","trace_id":"19647ef072491a36029075b01ff9edde","subtype":"postgresql","action":"query","timestamp":1646055658904759,"duration":8.553,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f6952f8f586f0952","transaction_id":"44d4bc42f0651011","parent_id":"44d4bc42f0651011","trace_id":"19647ef072491a36029075b01ff9edde","subtype":"postgresql","action":"query","timestamp":1646055658907253,"duration":8.587,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"a95c545b4bbb1564","transaction_id":"44d4bc42f0651011","parent_id":"44d4bc42f0651011","trace_id":"19647ef072491a36029075b01ff9edde","subtype":"postgresql","action":"query","timestamp":1646055658910040,"duration":7.856,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"44d4bc42f0651011","trace_id":"19647ef072491a36029075b01ff9edde","parent_id":"5b1fa3440bbc10ba","duration":40.845,"timestamp":1646055658888022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-19647ef072491a36029075b01ff9edde-5b1fa3440bbc10ba-01","elastic-apm-traceparent":"00-19647ef072491a36029075b01ff9edde-5b1fa3440bbc10ba-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:40:58 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"8a8f7b17d29ab477","trace_id":"1619cf6f014a2b2fdf8e7c3c46a1fd2b","parent_id":"41d1077775de2817","duration":102.01,"timestamp":1646055658988025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/1/customers?limit=110","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/1/customers","search":"?limit=110","full":"http://opbeans-node:3000/api/products/1/customers?limit=110"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-1619cf6f014a2b2fdf8e7c3c46a1fd2b-41d1077775de2817-01","elastic-apm-traceparent":"00-1619cf6f014a2b2fdf8e7c3c46a1fd2b-41d1077775de2817-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:40:59 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"203686","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"7fba1a0f87a4745c","transaction_id":"8a8f7b17d29ab477","parent_id":"8a8f7b17d29ab477","trace_id":"1619cf6f014a2b2fdf8e7c3c46a1fd2b","subtype":"http","action":"GET","timestamp":1646055658993664,"duration":92.125,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/1/customers?limit=110"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"5a76748cfc87f827","trace_id":"57758dd8f952471696352c780d92ba88","duration":28.17,"timestamp":1646055659137029,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:40:59 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"870793581fb2437c","transaction_id":"5a76748cfc87f827","parent_id":"5a76748cfc87f827","trace_id":"57758dd8f952471696352c780d92ba88","subtype":"http","action":"GET","timestamp":1646055659145922,"duration":11.423,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"1c7ffad1f5f0d02a","trace_id":"85b3dfe3323be3dcc0353ccf8f274bf1","parent_id":"ca57f147ff2a02fd","duration":82.984,"timestamp":1646055659369136,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/783","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/783","full":"http://opbeans-node:3000/api/customers/783"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-85b3dfe3323be3dcc0353ccf8f274bf1-ca57f147ff2a02fd-01","elastic-apm-traceparent":"00-85b3dfe3323be3dcc0353ccf8f274bf1-ca57f147ff2a02fd-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=UTF-8","x-request-id":"279a3b88-0781-493b-bcb6-95823f4e9a44","x-runtime":"0.038658","connection":"close","content-length":"1722","date":"Mon, 28 Feb 2022 13:40:59 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"99e5e42225f84efa","transaction_id":"1c7ffad1f5f0d02a","parent_id":"1c7ffad1f5f0d02a","trace_id":"85b3dfe3323be3dcc0353ccf8f274bf1","subtype":"http","action":"GET","timestamp":1646055659377322,"duration":68.339,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-ruby:3000/api/customers/783"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"691330419fb9834c","trace_id":"53b2edbdd36b1757fc33e2c6173ef58e","parent_id":"059dbe6387b7e210","duration":7.904,"timestamp":1646055659627023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:40:59 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"4f2262215006dd82","trace_id":"b3d73932d3b0b633cc5044edc693c6e7","parent_id":"b3631b83085b8adc","duration":45.274,"timestamp":1646055659763031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-b3d73932d3b0b633cc5044edc693c6e7-b3631b83085b8adc-01","elastic-apm-traceparent":"00-b3d73932d3b0b633cc5044edc693c6e7-b3631b83085b8adc-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"37992d7e5d1df22332cd7c5be552ddce\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"f460de6c-4828-4957-b786-6df9e53796c5","x-runtime":"0.017714","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:40:59 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"118931db4513dd17","transaction_id":"4f2262215006dd82","parent_id":"4f2262215006dd82","trace_id":"b3d73932d3b0b633cc5044edc693c6e7","subtype":"http","action":"GET","timestamp":1646055659769199,"duration":35.153,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"08632700a922b788","trace_id":"6c498f3db57969fd042889c720cd489f","duration":10.604,"timestamp":1646055660124025,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:41:00 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"77cef29e26f5622a","transaction_id":"6f79c20edf45d97b","parent_id":"6f79c20edf45d97b","trace_id":"56acc163dfee1ff35309394d530308df","subtype":"redis","action":null,"timestamp":1646055660686980,"duration":12.866,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"stacktrace":[{"filename":"node_modules/redis/lib/commands.js","lineno":46,"function":"get","library_frame":true,"abs_path":"/app/node_modules/redis/lib/commands.js"},{"filename":"server/routes.js","lineno":59,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":["","app.get('/products', function (req, res) {"],"context_line":" redis.get('products', function (err, obj) {","post_context":[" if (err) apm.captureError(err)"," else if (obj) return res.json(obj)"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":137,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":112,"function":"dispatch","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":281,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":88,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":["app.use('/api', function (req, res, next) {"," if (Math.random() > opbeansRedirectProbability) {"],"context_line":" return next()","post_context":[" }",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"6f79c20edf45d97b","trace_id":"56acc163dfee1ff35309394d530308df","duration":124.668,"timestamp":1646055660631043,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:41:00 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"490b879175ca058f","transaction_id":"6f79c20edf45d97b","parent_id":"6f79c20edf45d97b","trace_id":"56acc163dfee1ff35309394d530308df","subtype":"postgresql","action":"query","timestamp":1646055660720126,"duration":16.063,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"257349d306088b2e","transaction_id":"299b9afb27b2a852","parent_id":"299b9afb27b2a852","trace_id":"e75f3dcb98cc1ab1a0dd3caf30d6b7eb","subtype":"redis","action":null,"timestamp":1646055661132260,"duration":1.77,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"299b9afb27b2a852","trace_id":"e75f3dcb98cc1ab1a0dd3caf30d6b7eb","duration":104.495,"timestamp":1646055661126027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:41:01 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"2c67aea87c4fe428","transaction_id":"299b9afb27b2a852","parent_id":"299b9afb27b2a852","trace_id":"e75f3dcb98cc1ab1a0dd3caf30d6b7eb","subtype":"postgresql","action":"query","timestamp":1646055661137752,"duration":58.258,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"63b0f423ae90bf62","transaction_id":"bcd77f5192a006eb","parent_id":"bcd77f5192a006eb","trace_id":"88d92ce57e74ebf71913d7a66b456fe4","subtype":"postgresql","action":"query","timestamp":1646055661670171,"duration":38.9,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"98839c7bad0db520","transaction_id":"bcd77f5192a006eb","parent_id":"bcd77f5192a006eb","trace_id":"88d92ce57e74ebf71913d7a66b456fe4","subtype":"postgresql","action":"query","timestamp":1646055661678170,"duration":39.275,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"74ea87529653acd6","transaction_id":"bcd77f5192a006eb","parent_id":"bcd77f5192a006eb","trace_id":"88d92ce57e74ebf71913d7a66b456fe4","subtype":"postgresql","action":"query","timestamp":1646055661686801,"duration":32.866,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"218304fab644e771","transaction_id":"bcd77f5192a006eb","parent_id":"bcd77f5192a006eb","trace_id":"88d92ce57e74ebf71913d7a66b456fe4","subtype":"postgresql","action":"query","timestamp":1646055661740680,"duration":12.569,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":270,"function":"Client.","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg/lib/client.js","lineno":279,"function":"_handleReadyForQuery","library_frame":true,"abs_path":"/app/node_modules/pg/lib/client.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/pg/lib/connection.js","lineno":114,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg/lib/connection.js"},{"filename":"node_modules/pg-protocol/src/parser.ts","lineno":104,"function":"parse","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/parser.ts"},{"filename":"node_modules/pg-protocol/src/index.ts","lineno":7,"function":"Socket.","library_frame":true,"abs_path":"/app/node_modules/pg-protocol/src/index.ts"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"internal/streams/readable.js","lineno":293,"function":"addChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":267,"function":"readableAddChunk","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/streams/readable.js","lineno":206,"function":"Readable.push","library_frame":true,"abs_path":"internal/streams/readable.js"},{"filename":"internal/stream_base_commons.js","lineno":188,"function":"onStreamRead","library_frame":true,"abs_path":"internal/stream_base_commons.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":true,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"87271f36bffd67a8","transaction_id":"bcd77f5192a006eb","parent_id":"bcd77f5192a006eb","trace_id":"88d92ce57e74ebf71913d7a66b456fe4","subtype":"postgresql","action":"query","timestamp":1646055661772396,"duration":9.23,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"bcd77f5192a006eb","trace_id":"88d92ce57e74ebf71913d7a66b456fe4","duration":145.366,"timestamp":1646055661641089,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:41:01 GMT","connection":"close"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ea78243a98ee6841","transaction_id":"bcd77f5192a006eb","parent_id":"bcd77f5192a006eb","trace_id":"88d92ce57e74ebf71913d7a66b456fe4","subtype":"postgresql","action":"query","timestamp":1646055661761942,"duration":15.125,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"4826d00ec655e4ca","transaction_id":"bcd77f5192a006eb","parent_id":"bcd77f5192a006eb","trace_id":"88d92ce57e74ebf71913d7a66b456fe4","subtype":"postgresql","action":"query","timestamp":1646055661767213,"duration":12.111,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"041d54ff2f9c46dd","trace_id":"b7950d3a2c8b3b18c33b453f284990f5","parent_id":"251e1496e7680184","duration":42.347,"timestamp":1646055661879035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/stats","full":"http://opbeans-go:3000/api/stats"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-b7950d3a2c8b3b18c33b453f284990f5-251e1496e7680184-01","traceparent":"00-b7950d3a2c8b3b18c33b453f284990f5-251e1496e7680184-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:01 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"128","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"cac911d1f2f00536","transaction_id":"041d54ff2f9c46dd","parent_id":"041d54ff2f9c46dd","trace_id":"b7950d3a2c8b3b18c33b453f284990f5","subtype":"http","action":"GET","timestamp":1646055661891298,"duration":25.018,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"c40112abb661d233","trace_id":"0491267308fd1cad832c144bec063f0c","parent_id":"2ce2a6739de13d1e","duration":221.251,"timestamp":1646055662228101,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/649","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/649","full":"http://opbeans-node:3000/api/orders/649"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-0491267308fd1cad832c144bec063f0c-2ce2a6739de13d1e-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-0491267308fd1cad832c144bec063f0c-2ce2a6739de13d1e-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:41:02 GMT","content-length":"279","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"59b30e0e3e3216ad","transaction_id":"c40112abb661d233","parent_id":"c40112abb661d233","trace_id":"0491267308fd1cad832c144bec063f0c","subtype":"http","action":"GET","timestamp":1646055662269425,"duration":138.625,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders/649"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"3e5720b72358d29f","trace_id":"9065bf1c4c4e7e32bfb2037bdd917b01","parent_id":"fdce4560b07b8645","duration":155.358,"timestamp":1646055662331028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:41:02 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"7fb7bc8b5ec27bc1","transaction_id":"58f5f7854d166e9f","parent_id":"58f5f7854d166e9f","trace_id":"eb14a054e25a091040c56aac464ccd75","subtype":"postgresql","action":"query","timestamp":1646055662520577,"duration":5.856,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"58f5f7854d166e9f","trace_id":"eb14a054e25a091040c56aac464ccd75","parent_id":"c70d1941b4657d5d","duration":21.37,"timestamp":1646055662513034,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/5/customers","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-eb14a054e25a091040c56aac464ccd75-c70d1941b4657d5d-01","traceparent":"00-eb14a054e25a091040c56aac464ccd75-c70d1941b4657d5d-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:41:02 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"59f70a096bd8728f","transaction_id":"e0cd14047d9dae0e","parent_id":"e0cd14047d9dae0e","trace_id":"a93e44e12478ae3ad8cd237457153f4c","subtype":"http","action":"GET","timestamp":1646055662575043,"duration":8.757,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-go:3000/api/customers/7893"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"sync":false,"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"e0cd14047d9dae0e","trace_id":"a93e44e12478ae3ad8cd237457153f4c","parent_id":"b9293e0442d96bc6","duration":14.736,"timestamp":1646055662571018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/7893","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/7893","full":"http://opbeans-node:3000/api/customers/7893"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-a93e44e12478ae3ad8cd237457153f4c-b9293e0442d96bc6-01","elastic-apm-traceparent":"00-a93e44e12478ae3ad8cd237457153f4c-b9293e0442d96bc6-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-length":"0","date":"Mon, 28 Feb 2022 13:41:02 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"a311f8abe6b90ad9","trace_id":"f67fb01d32c42f6e2f0582ff5514600b","duration":190.46,"timestamp":1646055662631051,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:41:02 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"5a3603eeecd6a370","trace_id":"cdd5b1eefba76163f6587109d3faea0b","parent_id":"af76505c92228a8e","duration":109.151,"timestamp":1646055662889037,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/6/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/6/customers","full":"http://opbeans-node:3000/api/products/6/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-cdd5b1eefba76163f6587109d3faea0b-af76505c92228a8e-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-cdd5b1eefba76163f6587109d3faea0b-af76505c92228a8e-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:41:02 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"e838c65adfe0e646","transaction_id":"5a3603eeecd6a370","parent_id":"5a3603eeecd6a370","trace_id":"cdd5b1eefba76163f6587109d3faea0b","subtype":"postgresql","action":"query","timestamp":1646055662960021,"duration":10.919,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"6bd08dc9b2598171","transaction_id":"509d4d6046fdeb45","parent_id":"509d4d6046fdeb45","trace_id":"6889513386d9f990e6e16f47263bfdc7","subtype":"postgresql","action":"query","timestamp":1646055663200375,"duration":8.062,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"b5900c2503326928","transaction_id":"509d4d6046fdeb45","parent_id":"509d4d6046fdeb45","trace_id":"6889513386d9f990e6e16f47263bfdc7","subtype":"postgresql","action":"query","timestamp":1646055663210487,"duration":17.241,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"1aebfb332bac8ca9","transaction_id":"509d4d6046fdeb45","parent_id":"509d4d6046fdeb45","trace_id":"6889513386d9f990e6e16f47263bfdc7","subtype":"postgresql","action":"query","timestamp":1646055663213400,"duration":18.195,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"509d4d6046fdeb45","trace_id":"6889513386d9f990e6e16f47263bfdc7","parent_id":"746a79f812b7a828","duration":69.386,"timestamp":1646055663192031,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-6889513386d9f990e6e16f47263bfdc7-746a79f812b7a828-01","elastic-apm-traceparent":"00-6889513386d9f990e6e16f47263bfdc7-746a79f812b7a828-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:41:03 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"cc4ffc3394a03797","transaction_id":"509d4d6046fdeb45","parent_id":"509d4d6046fdeb45","trace_id":"6889513386d9f990e6e16f47263bfdc7","subtype":"postgresql","action":"query","timestamp":1646055663221940,"duration":25.616,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"c258e8dc9b02efd0","transaction_id":"ed7d3bcef6719e8f","parent_id":"ed7d3bcef6719e8f","trace_id":"3da666ba9d13aba3df58698cd76336bd","subtype":"redis","action":null,"timestamp":1646055663299086,"duration":4.946,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"e25b6b335f5e68a5","transaction_id":"ed7d3bcef6719e8f","parent_id":"ed7d3bcef6719e8f","trace_id":"3da666ba9d13aba3df58698cd76336bd","subtype":"postgresql","action":"query","timestamp":1646055663305527,"duration":4.565,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"ed7d3bcef6719e8f","trace_id":"3da666ba9d13aba3df58698cd76336bd","parent_id":"223a65ecb35387f0","duration":19.142,"timestamp":1646055663294024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-3da666ba9d13aba3df58698cd76336bd-223a65ecb35387f0-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-3da666ba9d13aba3df58698cd76336bd-223a65ecb35387f0-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:41:03 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"a3fece3312debccb","trace_id":"3da666ba9d13aba3df58698cd76336bd","duration":217.729,"timestamp":1646055663134037,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:03 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"0873571d9080a383","transaction_id":"a3fece3312debccb","parent_id":"a3fece3312debccb","trace_id":"3da666ba9d13aba3df58698cd76336bd","subtype":"http","action":"GET","timestamp":1646055663143140,"duration":204.746,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"8408aa8b10fae66b","trace_id":"2904bef4f057a2b2283de36dcf510cbd","duration":232.815,"timestamp":1646055663642051,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/6","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/6","full":"http://opbeans-node:3000/api/products/6"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:03 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"5678df91f4ad3817","transaction_id":"8408aa8b10fae66b","parent_id":"8408aa8b10fae66b","trace_id":"2904bef4f057a2b2283de36dcf510cbd","subtype":"http","action":"GET","timestamp":1646055663651404,"duration":215.974,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/6"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"2822b8a218f9eb03","transaction_id":"7f588264ae1279cb","parent_id":"7f588264ae1279cb","trace_id":"8381de2ab36353f363a9e2cae5761d1c","subtype":"redis","action":null,"timestamp":1646055664100345,"duration":2.52,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"7695ad7b76df1735","transaction_id":"7f588264ae1279cb","parent_id":"7f588264ae1279cb","trace_id":"8381de2ab36353f363a9e2cae5761d1c","subtype":"postgresql","action":"query","timestamp":1646055664105105,"duration":6.343,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"7f588264ae1279cb","trace_id":"8381de2ab36353f363a9e2cae5761d1c","parent_id":"34e31c6c84bf1220","duration":28.754,"timestamp":1646055664095018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-8381de2ab36353f363a9e2cae5761d1c-34e31c6c84bf1220-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-8381de2ab36353f363a9e2cae5761d1c-34e31c6c84bf1220-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:41:04 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"094fb9f3b0c7f790","trace_id":"8381de2ab36353f363a9e2cae5761d1c","parent_id":"27860299c2f58db8","duration":74.728,"timestamp":1646055664068159,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-8381de2ab36353f363a9e2cae5761d1c-27860299c2f58db8-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-8381de2ab36353f363a9e2cae5761d1c-27860299c2f58db8-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:04 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"a6671f26a619abea","transaction_id":"094fb9f3b0c7f790","parent_id":"094fb9f3b0c7f790","trace_id":"8381de2ab36353f363a9e2cae5761d1c","subtype":"http","action":"GET","timestamp":1646055664075406,"duration":60.864,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"50c0a1726724633a","trace_id":"b97a94ef1bbf7c8880b7dfee0a14dbc9","duration":36.589,"timestamp":1646055664152020,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:41:04 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"741324c9b00e2d35","trace_id":"c6537f1c45d7096754713620813bb992","parent_id":"9c66036ad0ef9857","duration":28.35,"timestamp":1646055664603022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-c6537f1c45d7096754713620813bb992-9c66036ad0ef9857-01","elastic-apm-traceparent":"00-c6537f1c45d7096754713620813bb992-9c66036ad0ef9857-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:41:04 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"89353844aa63a422","transaction_id":"741324c9b00e2d35","parent_id":"741324c9b00e2d35","trace_id":"c6537f1c45d7096754713620813bb992","subtype":"http","action":"GET","timestamp":1646055664609921,"duration":16.679,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"66701d091347fb05","trace_id":"3f0411d906ec186bf28239d0c18a95c7","duration":66.183,"timestamp":1646055664642019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5","full":"http://opbeans-node:3000/api/products/5"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"250","etag":"W/\"fa-O2pSp/nl49sefAwhjFNnvOX493Y\"","date":"Mon, 28 Feb 2022 13:41:04 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"46cc0124e5d1901c","transaction_id":"66701d091347fb05","parent_id":"66701d091347fb05","trace_id":"3f0411d906ec186bf28239d0c18a95c7","subtype":"postgresql","action":"query","timestamp":1646055664687507,"duration":12.526,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"72c74ee01c7a5391","trace_id":"52b4430d5d672eb0fbc3f95caee05954","parent_id":"d4da6af081ecca55","duration":71.748,"timestamp":1646055665147046,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:41:05 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"e1df22990fb19291","transaction_id":"142f39282d56e125","parent_id":"142f39282d56e125","trace_id":"87d6b6a878eb5eb118720fbb14911573","subtype":"postgresql","action":"query","timestamp":1646055665262289,"duration":4.988,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"97fc70cc7a5026a2","transaction_id":"142f39282d56e125","parent_id":"142f39282d56e125","trace_id":"87d6b6a878eb5eb118720fbb14911573","subtype":"postgresql","action":"query","timestamp":1646055665268705,"duration":3.044,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"142f39282d56e125","trace_id":"87d6b6a878eb5eb118720fbb14911573","parent_id":"1cb798aaf4f1def0","duration":19.209,"timestamp":1646055665257205,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/3","full":"http://opbeans-node:3000/api/types/3"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-87d6b6a878eb5eb118720fbb14911573-1cb798aaf4f1def0-01","elastic-apm-traceparent":"00-87d6b6a878eb5eb118720fbb14911573-1cb798aaf4f1def0-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"189","etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","date":"Mon, 28 Feb 2022 13:41:05 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"5ecfea3f9ca36a8c","trace_id":"87d6b6a878eb5eb118720fbb14911573","parent_id":"133ded984aa1be21","duration":102.611,"timestamp":1646055665197024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/3","full":"http://opbeans-node:3000/api/types/3"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-87d6b6a878eb5eb118720fbb14911573-133ded984aa1be21-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-87d6b6a878eb5eb118720fbb14911573-133ded984aa1be21-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:05 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"189","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"08f746ac7d45f38b","transaction_id":"5ecfea3f9ca36a8c","parent_id":"5ecfea3f9ca36a8c","trace_id":"87d6b6a878eb5eb118720fbb14911573","subtype":"http","action":"GET","timestamp":1646055665234785,"duration":55.294,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types/3"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"da16a4eac531e36c","transaction_id":"47902c6b8a77d0e4","parent_id":"47902c6b8a77d0e4","trace_id":"69a6a3a8cb9700adcf10a56adc1b3eea","subtype":"http","action":"GET","timestamp":1646055665335493,"duration":8.161,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"47902c6b8a77d0e4","trace_id":"69a6a3a8cb9700adcf10a56adc1b3eea","parent_id":"0b1f14f26e70768c","duration":18.188,"timestamp":1646055665331018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-69a6a3a8cb9700adcf10a56adc1b3eea-0b1f14f26e70768c-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-69a6a3a8cb9700adcf10a56adc1b3eea-0b1f14f26e70768c-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:41:05 GMT","content-length":"112","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"62ba8fbbdc62f8fd","transaction_id":"e58a473e7ecd9e39","parent_id":"e58a473e7ecd9e39","trace_id":"18dedb08e351f8f68ddd9e14c33397d2","subtype":"redis","action":null,"timestamp":1646055665464865,"duration":2.329,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"1ad1646b518bc501","transaction_id":"e58a473e7ecd9e39","parent_id":"e58a473e7ecd9e39","trace_id":"18dedb08e351f8f68ddd9e14c33397d2","subtype":"postgresql","action":"query","timestamp":1646055665469530,"duration":4.599,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"e58a473e7ecd9e39","trace_id":"18dedb08e351f8f68ddd9e14c33397d2","parent_id":"23c3ff423e1d95d6","duration":30.036,"timestamp":1646055665459023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products","full":"http://opbeans-go:3000/api/products"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-18dedb08e351f8f68ddd9e14c33397d2-23c3ff423e1d95d6-01","traceparent":"00-18dedb08e351f8f68ddd9e14c33397d2-23c3ff423e1d95d6-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:41:05 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /log-error","type":"request","result":"HTTP 5xx","id":"0be912ffdf09d7a6","trace_id":"8f2fb664f8d4d7eb5578ebeb9e4f167b","duration":92.794,"timestamp":1646055665630022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/log-error","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/log-error","full":"http://opbeans-node:3000/log-error"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":500,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"24","etag":"W/\"18-MS3VbhH7auHMzO0fUuNF6v14N/M\"","date":"Mon, 28 Feb 2022 13:41:05 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"failure","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"ea6200d1cff89ea1","transaction_id":"94071b3f7a60ca9c","parent_id":"94071b3f7a60ca9c","trace_id":"3296fe7a8fe74bf58c9f9c594b92d8b3","subtype":"postgresql","action":"query","timestamp":1646055666171228,"duration":5.486,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"94071b3f7a60ca9c","trace_id":"3296fe7a8fe74bf58c9f9c594b92d8b3","duration":24.187,"timestamp":1646055666157071,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/296","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/296","full":"http://opbeans-node:3000/api/customers/296"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"189","etag":"W/\"bd-s5scQCpX0vv0RfF+zUK7Q0VCj3A\"","date":"Mon, 28 Feb 2022 13:41:06 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"58e3b8de06fecaca","transaction_id":"5188b178565095eb","parent_id":"5188b178565095eb","trace_id":"00cee5240d1957a8cda2c795a79bfe55","subtype":"postgresql","action":"query","timestamp":1646055666191900,"duration":11.548,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"4490219a4caec9e0","transaction_id":"5188b178565095eb","parent_id":"5188b178565095eb","trace_id":"00cee5240d1957a8cda2c795a79bfe55","subtype":"postgresql","action":"query","timestamp":1646055666194405,"duration":11.863,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"bc6c703bfda4e5ce","transaction_id":"5188b178565095eb","parent_id":"5188b178565095eb","trace_id":"00cee5240d1957a8cda2c795a79bfe55","subtype":"postgresql","action":"query","timestamp":1646055666196773,"duration":12.103,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"a6cb9e6b06ddea0b","transaction_id":"5188b178565095eb","parent_id":"5188b178565095eb","trace_id":"00cee5240d1957a8cda2c795a79bfe55","subtype":"postgresql","action":"query","timestamp":1646055666198543,"duration":12.357,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"5188b178565095eb","trace_id":"00cee5240d1957a8cda2c795a79bfe55","parent_id":"a317b20289201804","duration":70.1,"timestamp":1646055666186026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-00cee5240d1957a8cda2c795a79bfe55-a317b20289201804-01","elastic-apm-traceparent":"00-00cee5240d1957a8cda2c795a79bfe55-a317b20289201804-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:41:06 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f6821a8ae997fa74","transaction_id":"5188b178565095eb","parent_id":"5188b178565095eb","trace_id":"00cee5240d1957a8cda2c795a79bfe55","subtype":"postgresql","action":"query","timestamp":1646055666216877,"duration":11.451,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"37c878424f4f7ca4","transaction_id":"5188b178565095eb","parent_id":"5188b178565095eb","trace_id":"00cee5240d1957a8cda2c795a79bfe55","subtype":"postgresql","action":"query","timestamp":1646055666215042,"duration":24.123,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"d1e71f9198cbb5e8","transaction_id":"5188b178565095eb","parent_id":"5188b178565095eb","trace_id":"00cee5240d1957a8cda2c795a79bfe55","subtype":"postgresql","action":"query","timestamp":1646055666212823,"duration":28.905,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"92c55f08be11f0f4","trace_id":"52756c21f43f7d34aa05f1404382bb75","parent_id":"3b024ff21732ada1","duration":85.042,"timestamp":1646055666332035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-52756c21f43f7d34aa05f1404382bb75-3b024ff21732ada1-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-52756c21f43f7d34aa05f1404382bb75-3b024ff21732ada1-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:06 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"2926","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"cdef2a4fa1ba22ff","transaction_id":"92c55f08be11f0f4","parent_id":"92c55f08be11f0f4","trace_id":"52756c21f43f7d34aa05f1404382bb75","subtype":"http","action":"GET","timestamp":1646055666341144,"duration":72.108,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"acb77c23f5eefefb","trace_id":"b6c6adac22bbd86525d39c90d49d0595","duration":16.696,"timestamp":1646055666630032,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:41:06 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"d7447a723a4aca0f","trace_id":"5e766d0fcb3dc78cced2e0108b2220b7","parent_id":"d1e8dcfbd20f366d","duration":139.329,"timestamp":1646055666653019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2/customers","full":"http://opbeans-node:3000/api/products/2/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-5e766d0fcb3dc78cced2e0108b2220b7-d1e8dcfbd20f366d-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-5e766d0fcb3dc78cced2e0108b2220b7-d1e8dcfbd20f366d-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:06 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"203686","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"401dd35534e4a757","transaction_id":"d7447a723a4aca0f","parent_id":"d7447a723a4aca0f","trace_id":"5e766d0fcb3dc78cced2e0108b2220b7","subtype":"http","action":"GET","timestamp":1646055666658041,"duration":130.564,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/2/customers"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"0e9aa280f47d292b","transaction_id":"5a2a098259b33444","parent_id":"5a2a098259b33444","trace_id":"a00ad2d117a8933aa7b33e56b695bbc7","subtype":"postgresql","action":"query","timestamp":1646055667144791,"duration":3.497,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"5a2a098259b33444","trace_id":"a00ad2d117a8933aa7b33e56b695bbc7","duration":26.004,"timestamp":1646055667131024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/3","full":"http://opbeans-node:3000/api/products/3"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"231","etag":"W/\"e7-kkuzj37GZDzXDh0CWqh5Gan0VO4\"","date":"Mon, 28 Feb 2022 13:41:07 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"3b0fc25df60adf23","transaction_id":"98de976bc08058e6","parent_id":"98de976bc08058e6","trace_id":"faf0a7bb11fe30374fb53413b7c9b217","subtype":"redis","action":null,"timestamp":1646055667349127,"duration":2.012,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"8564300b521bfad2","transaction_id":"98de976bc08058e6","parent_id":"98de976bc08058e6","trace_id":"faf0a7bb11fe30374fb53413b7c9b217","subtype":"postgresql","action":"query","timestamp":1646055667352472,"duration":2.389,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"98de976bc08058e6","trace_id":"faf0a7bb11fe30374fb53413b7c9b217","parent_id":"67b0331709803340","duration":14.073,"timestamp":1646055667345019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-faf0a7bb11fe30374fb53413b7c9b217-67b0331709803340-01","elastic-apm-traceparent":"00-faf0a7bb11fe30374fb53413b7c9b217-67b0331709803340-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:41:07 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"15b660d0adf3a548","trace_id":"278ba99360be8532c21dffcf29f03ce7","parent_id":"3238c78aac2040be","duration":26.302,"timestamp":1646055667630019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:41:07 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"c6563fc0a6b44087","transaction_id":"14a1bda42f61755d","parent_id":"14a1bda42f61755d","trace_id":"a97acdee2aa4ab70a5ec3bf2ff60bd58","subtype":"redis","action":null,"timestamp":1646055667969523,"duration":2.583,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"8ef9a2c1bd6d37e5","transaction_id":"14a1bda42f61755d","parent_id":"14a1bda42f61755d","trace_id":"a97acdee2aa4ab70a5ec3bf2ff60bd58","subtype":"postgresql","action":"query","timestamp":1646055667973809,"duration":23.418,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"14a1bda42f61755d","trace_id":"a97acdee2aa4ab70a5ec3bf2ff60bd58","parent_id":"aa7b329d159415bf","duration":117.77,"timestamp":1646055667965019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-a97acdee2aa4ab70a5ec3bf2ff60bd58-aa7b329d159415bf-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-a97acdee2aa4ab70a5ec3bf2ff60bd58-aa7b329d159415bf-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:41:07 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"a5a3e39fef58bb14","trace_id":"a45fcdf9f26bddcc7bb4c40df7ab90a1","parent_id":"2fcc7ffeaacccf3f","duration":20.306,"timestamp":1646055668148021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:41:08 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"832c506ec28b1c01","trace_id":"b52d2b5610827dce5f3846c0c9392164","parent_id":"a2abce4d578f50c6","duration":24.715,"timestamp":1646055668645052,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:41:08 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"cd57ff5855858c9b","transaction_id":"38a31db759256844","parent_id":"38a31db759256844","trace_id":"fe1ae3e19e6dc7fae049ad9574f645ff","subtype":"postgresql","action":"query","timestamp":1646055668784367,"duration":4.332,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"38a31db759256844","trace_id":"fe1ae3e19e6dc7fae049ad9574f645ff","parent_id":"5a377525bec7372a","duration":55.57,"timestamp":1646055668778061,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-fe1ae3e19e6dc7fae049ad9574f645ff-5a377525bec7372a-01","elastic-apm-traceparent":"00-fe1ae3e19e6dc7fae049ad9574f645ff-5a377525bec7372a-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:41:08 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"d80e68efdd30d55c","transaction_id":"38a31db759256844","parent_id":"38a31db759256844","trace_id":"fe1ae3e19e6dc7fae049ad9574f645ff","subtype":"postgresql","action":"query","timestamp":1646055668790268,"duration":15.13,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"52c833e4f159786f","transaction_id":"38a31db759256844","parent_id":"38a31db759256844","trace_id":"fe1ae3e19e6dc7fae049ad9574f645ff","subtype":"postgresql","action":"query","timestamp":1646055668795499,"duration":12.44,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"090c6f6025332704","transaction_id":"38a31db759256844","parent_id":"38a31db759256844","trace_id":"fe1ae3e19e6dc7fae049ad9574f645ff","subtype":"postgresql","action":"query","timestamp":1646055668799330,"duration":16.777,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"f0e708fcc799208c","trace_id":"6fcc975cdf0b5a656d95e4a9aeac7ad7","parent_id":"3ee95f9aeb03eaa7","duration":87.922,"timestamp":1646055669061028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/9367","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/9367","full":"http://opbeans-node:3000/api/customers/9367"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-6fcc975cdf0b5a656d95e4a9aeac7ad7-3ee95f9aeb03eaa7-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-6fcc975cdf0b5a656d95e4a9aeac7ad7-3ee95f9aeb03eaa7-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=UTF-8","x-request-id":"fd54933d-e5aa-4345-8552-fc352594eb90","x-runtime":"0.038618","connection":"close","content-length":"1722","date":"Mon, 28 Feb 2022 13:41:09 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"36878e8948fda364","transaction_id":"f0e708fcc799208c","parent_id":"f0e708fcc799208c","trace_id":"6fcc975cdf0b5a656d95e4a9aeac7ad7","subtype":"http","action":"GET","timestamp":1646055669065655,"duration":71.082,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-ruby:3000/api/customers/9367"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"d0272c91b6a66149","trace_id":"37fe1846a1ce67a235dc2d11f7dc84f9","parent_id":"ed55a0049b75ca1a","duration":146.797,"timestamp":1646055669097024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers","full":"http://opbeans-go:3000/api/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-37fe1846a1ce67a235dc2d11f7dc84f9-ed55a0049b75ca1a-01","traceparent":"00-37fe1846a1ce67a235dc2d11f7dc84f9-ed55a0049b75ca1a-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:09 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"203686","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"66daaada75f5d599","trace_id":"d0c43cd0d97fcf9d9493e19876fce4e6","duration":149.734,"timestamp":1646055669166018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"41e1cc30-2e74-4b4a-81bd-63cf082b27aa","x-runtime":"0.032079","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:09 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"98782185868e5451","transaction_id":"d0272c91b6a66149","parent_id":"d0272c91b6a66149","trace_id":"37fe1846a1ce67a235dc2d11f7dc84f9","subtype":"http","action":"GET","timestamp":1646055669121505,"duration":116.103,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"51a0fb9f5e8461ec","transaction_id":"66daaada75f5d599","parent_id":"66daaada75f5d599","trace_id":"d0c43cd0d97fcf9d9493e19876fce4e6","subtype":"http","action":"GET","timestamp":1646055669177851,"duration":117.262,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"657969d69e8faef2","trace_id":"a66844852ac5b3abf31bc1fdb3844a2a","parent_id":"5cb2301ce75d9618","duration":83.968,"timestamp":1646055669584052,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/2","full":"http://opbeans-go:3000/api/products/2"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-a66844852ac5b3abf31bc1fdb3844a2a-5cb2301ce75d9618-01","traceparent":"00-a66844852ac5b3abf31bc1fdb3844a2a-5cb2301ce75d9618-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"05c956bd01f33dfc24760b4f8c51733d\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"36a3a8e2-f514-477d-827c-e48aa8a9b18d","x-runtime":"0.031953","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:09 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"6d0059cb992adc7c","transaction_id":"657969d69e8faef2","parent_id":"657969d69e8faef2","trace_id":"a66844852ac5b3abf31bc1fdb3844a2a","subtype":"http","action":"GET","timestamp":1646055669600055,"duration":49.819,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/2"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"1add1ec1c39ec094","trace_id":"64042c8f5e6255c6e4200c083d786906","duration":52.934,"timestamp":1646055669694020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:41:09 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"cd738a81636f69eb","transaction_id":"1add1ec1c39ec094","parent_id":"1add1ec1c39ec094","trace_id":"64042c8f5e6255c6e4200c083d786906","subtype":"http","action":"GET","timestamp":1646055669702134,"duration":40.17,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"6923f433df01f31d","transaction_id":"e3821726cffd72ec","parent_id":"e3821726cffd72ec","trace_id":"e62b510b7a156d6eaaf628f9bc13c721","subtype":"postgresql","action":"query","timestamp":1646055669764330,"duration":6.483,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"44e522ff18be6032","transaction_id":"e3821726cffd72ec","parent_id":"e3821726cffd72ec","trace_id":"e62b510b7a156d6eaaf628f9bc13c721","subtype":"postgresql","action":"query","timestamp":1646055669772164,"duration":6.876,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"e3821726cffd72ec","trace_id":"e62b510b7a156d6eaaf628f9bc13c721","parent_id":"0aabc3b1e1613954","duration":25.176,"timestamp":1646055669757019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/3","full":"http://opbeans-node:3000/api/types/3"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-e62b510b7a156d6eaaf628f9bc13c721-0aabc3b1e1613954-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-e62b510b7a156d6eaaf628f9bc13c721-0aabc3b1e1613954-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"189","etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","date":"Mon, 28 Feb 2022 13:41:09 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"fc0cb60374454bb0","transaction_id":"95010d024479ccac","parent_id":"95010d024479ccac","trace_id":"c911486d20a7f36f9a762985c754f9d8","subtype":"postgresql","action":"query","timestamp":1646055669805243,"duration":2.332,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"e521ea7f1c9cbce3","transaction_id":"95010d024479ccac","parent_id":"95010d024479ccac","trace_id":"c911486d20a7f36f9a762985c754f9d8","subtype":"postgresql","action":"query","timestamp":1646055669808907,"duration":6.65,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"7259ae6181953eb4","transaction_id":"95010d024479ccac","parent_id":"95010d024479ccac","trace_id":"c911486d20a7f36f9a762985c754f9d8","subtype":"postgresql","action":"query","timestamp":1646055669810886,"duration":6.23,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"95010d024479ccac","trace_id":"c911486d20a7f36f9a762985c754f9d8","parent_id":"9aa00cc0c236553d","duration":34.536,"timestamp":1646055669798018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-c911486d20a7f36f9a762985c754f9d8-9aa00cc0c236553d-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-c911486d20a7f36f9a762985c754f9d8-9aa00cc0c236553d-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:41:09 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"852676dcd0e2ba1e","transaction_id":"95010d024479ccac","parent_id":"95010d024479ccac","trace_id":"c911486d20a7f36f9a762985c754f9d8","subtype":"postgresql","action":"query","timestamp":1646055669812862,"duration":10.773,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"e5189fd13dd8b900","trace_id":"7d66cab31f8185182b799d0bbb551368","parent_id":"d8a4e59fc705c936","duration":20.422,"timestamp":1646055670179024,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:41:10 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"597a4d975fae6b87","trace_id":"d0e010e28f8c2a3d08e78d09a4b80a55","parent_id":"9b738196381c8430","duration":102.667,"timestamp":1646055670134072,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/stats","full":"http://opbeans-go:3000/api/stats"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-d0e010e28f8c2a3d08e78d09a4b80a55-9b738196381c8430-01","traceparent":"00-d0e010e28f8c2a3d08e78d09a4b80a55-9b738196381c8430-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"66882176-4d76-4067-93a3-a2f100e291ab","x-runtime":"0.021300","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:10 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"4ee9580ac26561a2","transaction_id":"597a4d975fae6b87","parent_id":"597a4d975fae6b87","trace_id":"d0e010e28f8c2a3d08e78d09a4b80a55","subtype":"http","action":"GET","timestamp":1646055670166414,"duration":61.95,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"7cc7c054ceb29f70","transaction_id":"c452794aeb6c857b","parent_id":"c452794aeb6c857b","trace_id":"fa3ffdcc8ee56169d6b9ce11748da9c5","subtype":"postgresql","action":"query","timestamp":1646055670393603,"duration":5.2,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"c452794aeb6c857b","trace_id":"fa3ffdcc8ee56169d6b9ce11748da9c5","parent_id":"9e1d50efc309710d","duration":17.46,"timestamp":1646055670388025,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/2","full":"http://opbeans-go:3000/api/products/2"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-fa3ffdcc8ee56169d6b9ce11748da9c5-9e1d50efc309710d-01","traceparent":"00-fa3ffdcc8ee56169d6b9ce11748da9c5-9e1d50efc309710d-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"242","etag":"W/\"f2-TrZrMcMTUtdW6GY8TQq8W/JG3iU\"","date":"Mon, 28 Feb 2022 13:41:10 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"ff95e470bcaf75b7","trace_id":"bbeaf91806aef78e8ee795da1b11c0a9","parent_id":"7349cc1873ce7b8b","duration":61.188,"timestamp":1646055670465033,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/3","full":"http://opbeans-node:3000/api/types/3"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-bbeaf91806aef78e8ee795da1b11c0a9-7349cc1873ce7b8b-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-bbeaf91806aef78e8ee795da1b11c0a9-7349cc1873ce7b8b-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:10 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"46e34b4f7a8f89eb","transaction_id":"ff95e470bcaf75b7","parent_id":"ff95e470bcaf75b7","trace_id":"bbeaf91806aef78e8ee795da1b11c0a9","subtype":"http","action":"GET","timestamp":1646055670472837,"duration":45.999,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types/3"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"fd57d79a5f0b0053","transaction_id":"7645754f3535257a","parent_id":"7645754f3535257a","trace_id":"83b0a7443b0ee0c25a44ff8cc98636e9","subtype":"redis","action":null,"timestamp":1646055670568543,"duration":5.699,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"5e00c61ac9e4fc79","transaction_id":"7645754f3535257a","parent_id":"7645754f3535257a","trace_id":"83b0a7443b0ee0c25a44ff8cc98636e9","subtype":"postgresql","action":"query","timestamp":1646055670577311,"duration":1.838,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"7645754f3535257a","trace_id":"83b0a7443b0ee0c25a44ff8cc98636e9","parent_id":"87caecf428fa53a6","duration":27.957,"timestamp":1646055670564021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-83b0a7443b0ee0c25a44ff8cc98636e9-87caecf428fa53a6-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-83b0a7443b0ee0c25a44ff8cc98636e9-87caecf428fa53a6-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:41:10 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"f361f48765622ec3","transaction_id":"c31328c3e410bc67","parent_id":"c31328c3e410bc67","trace_id":"23d8b49c8bfa75ffb1d3b292f31a6045","subtype":"postgresql","action":"query","timestamp":1646055670778638,"duration":6.726,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"c31328c3e410bc67","trace_id":"23d8b49c8bfa75ffb1d3b292f31a6045","parent_id":"4df0ef015e59bec5","duration":41.369,"timestamp":1646055670767023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers?limit=70","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/5/customers","search":"?limit=70","full":"http://opbeans-go:3000/api/products/5/customers?limit=70"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-23d8b49c8bfa75ffb1d3b292f31a6045-4df0ef015e59bec5-01","traceparent":"00-23d8b49c8bfa75ffb1d3b292f31a6045-4df0ef015e59bec5-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:41:10 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"23a891bbfa815438","trace_id":"52c0d7701a38911c604c99146f21e263","parent_id":"fabd4939e1682852","duration":54.749,"timestamp":1646055670854022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-52c0d7701a38911c604c99146f21e263-fabd4939e1682852-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-52c0d7701a38911c604c99146f21e263-fabd4939e1682852-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"e7a2362bf423f315691b319c14409fa6\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"42ef4d88-0ec2-4e75-9f1a-f50ffb4b9347","x-runtime":"0.029763","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:10 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"414998e6451d6265","transaction_id":"23a891bbfa815438","parent_id":"23a891bbfa815438","trace_id":"52c0d7701a38911c604c99146f21e263","subtype":"http","action":"GET","timestamp":1646055670858078,"duration":41.66,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"3f87a0a89ea0ddbe","trace_id":"dd8dbe5f7f3466a2d7db41f2cb34daff","parent_id":"be82725bc76d4b83","duration":32.993,"timestamp":1646055671106035,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers","full":"http://opbeans-go:3000/api/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-dd8dbe5f7f3466a2d7db41f2cb34daff-be82725bc76d4b83-01","traceparent":"00-dd8dbe5f7f3466a2d7db41f2cb34daff-be82725bc76d4b83-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:41:11 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"e8b999d98738ef2c","transaction_id":"3f87a0a89ea0ddbe","parent_id":"3f87a0a89ea0ddbe","trace_id":"dd8dbe5f7f3466a2d7db41f2cb34daff","subtype":"http","action":"GET","timestamp":1646055671111428,"duration":16.539,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"c4d53eb2c2d695d9","transaction_id":"f30f02407bce4430","parent_id":"f30f02407bce4430","trace_id":"fa7274055b49bc3072b54ec9d18b390e","subtype":"postgresql","action":"query","timestamp":1646055671158695,"duration":7.767,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"f30f02407bce4430","trace_id":"fa7274055b49bc3072b54ec9d18b390e","duration":39.47,"timestamp":1646055671147151,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/6","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/6","full":"http://opbeans-node:3000/api/products/6"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"254","etag":"W/\"fe-vUW963ju559F4nwQXb+Wg4ZAqdk\"","date":"Mon, 28 Feb 2022 13:41:11 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"721826864939e3f1","trace_id":"d478f728eb9e4fe6441ea3de805a223b","parent_id":"b386f2d33a850792","duration":42.796,"timestamp":1646055671316027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/8391","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/8391","full":"http://opbeans-go:3000/api/customers/8391"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-d478f728eb9e4fe6441ea3de805a223b-b386f2d33a850792-01","traceparent":"00-d478f728eb9e4fe6441ea3de805a223b-b386f2d33a850792-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-type":"text/plain","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:11 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"54ae963dfdac66a5","transaction_id":"721826864939e3f1","parent_id":"721826864939e3f1","trace_id":"d478f728eb9e4fe6441ea3de805a223b","subtype":"http","action":"GET","timestamp":1646055671324527,"duration":30.406,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-ruby:3000/api/customers/8391"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"91b2d5fd3df60ca9","transaction_id":"432031e428aec47f","parent_id":"432031e428aec47f","trace_id":"b61d9cd1c86f5beebf2c03a7b57326a7","subtype":"postgresql","action":"query","timestamp":1646055671666758,"duration":7.297,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"432031e428aec47f","trace_id":"b61d9cd1c86f5beebf2c03a7b57326a7","duration":61.213,"timestamp":1646055671655068,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/3","full":"http://opbeans-node:3000/api/types/3"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"189","etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","date":"Mon, 28 Feb 2022 13:41:11 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"4e0293199d7bc332","transaction_id":"432031e428aec47f","parent_id":"432031e428aec47f","trace_id":"b61d9cd1c86f5beebf2c03a7b57326a7","subtype":"postgresql","action":"query","timestamp":1646055671685630,"duration":12.07,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"ec311c2d0a216007","trace_id":"dada5721d18eacfdc8a3a4dddf5f61cd","parent_id":"09302320a263c9ef","duration":32.15,"timestamp":1646055671842027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/727","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders/727","full":"http://opbeans-go:3000/api/orders/727"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-dada5721d18eacfdc8a3a4dddf5f61cd-09302320a263c9ef-01","traceparent":"00-dada5721d18eacfdc8a3a4dddf5f61cd-09302320a263c9ef-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:41:11 GMT","connection":"keep-alive","keep-alive":"timeout=5","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"182f549b0e41db22","transaction_id":"ec311c2d0a216007","parent_id":"ec311c2d0a216007","trace_id":"dada5721d18eacfdc8a3a4dddf5f61cd","subtype":"postgresql","action":"query","timestamp":1646055671847455,"duration":18.599,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"b0f3bd705cd3507f","transaction_id":"7e23a214a49e4391","parent_id":"7e23a214a49e4391","trace_id":"70259fceff0c9f1e46dbe996599c0801","subtype":"redis","action":null,"timestamp":1646055671981920,"duration":5.03,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"7e23a214a49e4391","trace_id":"70259fceff0c9f1e46dbe996599c0801","parent_id":"c816d773625f8d48","duration":43.647,"timestamp":1646055671977015,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders","full":"http://opbeans-go:3000/api/orders"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-70259fceff0c9f1e46dbe996599c0801-c816d773625f8d48-01","traceparent":"00-70259fceff0c9f1e46dbe996599c0801-c816d773625f8d48-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:41:11 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"fabb3f518fe1ef7c","transaction_id":"7e23a214a49e4391","parent_id":"7e23a214a49e4391","trace_id":"70259fceff0c9f1e46dbe996599c0801","subtype":"postgresql","action":"query","timestamp":1646055671989985,"duration":13.507,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"80c9ad4da8bfd6f3","transaction_id":"62e0e7e6e61acf60","parent_id":"62e0e7e6e61acf60","trace_id":"08fbfaac394c53a44e79fd085b01a396","subtype":"postgresql","action":"query","timestamp":1646055672159464,"duration":2.784,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"62e0e7e6e61acf60","trace_id":"08fbfaac394c53a44e79fd085b01a396","duration":23.55,"timestamp":1646055672151030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/2","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/2","full":"http://opbeans-node:3000/api/products/2"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"242","etag":"W/\"f2-TrZrMcMTUtdW6GY8TQq8W/JG3iU\"","date":"Mon, 28 Feb 2022 13:41:12 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"16bb9fb876d86a70","trace_id":"fad4efea53a135c97656e15a74cb240b","parent_id":"645f9db8012f5554","duration":261.381,"timestamp":1646055672242016,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/top","full":"http://opbeans-go:3000/api/products/top"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","accept-encoding":"gzip","elastic-apm-traceparent":"00-fad4efea53a135c97656e15a74cb240b-645f9db8012f5554-01","traceparent":"00-fad4efea53a135c97656e15a74cb240b-645f9db8012f5554-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:12 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"309","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"9520d1e023c5a445","transaction_id":"16bb9fb876d86a70","parent_id":"16bb9fb876d86a70","trace_id":"fad4efea53a135c97656e15a74cb240b","subtype":"http","action":"GET","timestamp":1646055672245679,"duration":253.473,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"4f9cac797bfda710","transaction_id":"2a2482db0dfd1997","parent_id":"2a2482db0dfd1997","trace_id":"ef57cbf7e87361141d06e114838da23c","subtype":"postgresql","action":"query","timestamp":1646055672547553,"duration":2.88,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"2a2482db0dfd1997","trace_id":"ef57cbf7e87361141d06e114838da23c","parent_id":"78736ae990fdc72c","duration":19.859,"timestamp":1646055672536015,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/702","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/702","full":"http://opbeans-go:3000/api/customers/702"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-ef57cbf7e87361141d06e114838da23c-78736ae990fdc72c-01","traceparent":"00-ef57cbf7e87361141d06e114838da23c-78736ae990fdc72c-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"194","etag":"W/\"c2-uvvcFJIQeN+MuFN/ezRVBrOjCTs\"","date":"Mon, 28 Feb 2022 13:41:12 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"0757ad7d7e4f9a84","transaction_id":"a5a6d9be69b5fa02","parent_id":"a5a6d9be69b5fa02","trace_id":"e4799beaf81b0e4aac23221ed21cb063","subtype":"postgresql","action":"query","timestamp":1646055672596437,"duration":7.493,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 4xx","id":"a5a6d9be69b5fa02","trace_id":"e4799beaf81b0e4aac23221ed21cb063","parent_id":"ea443d8ba65e2148","duration":41.363,"timestamp":1646055672575041,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/5688","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/5688","full":"http://opbeans-go:3000/api/customers/5688"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-e4799beaf81b0e4aac23221ed21cb063-ea443d8ba65e2148-01","traceparent":"00-e4799beaf81b0e4aac23221ed21cb063-ea443d8ba65e2148-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:41:12 GMT","connection":"keep-alive","keep-alive":"timeout=5","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"47c959942a342337","trace_id":"090644462b713676ad82b87c49575d57","parent_id":"58fc9dbed60ff0e5","duration":15.729,"timestamp":1646055672654014,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:41:12 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b77a284902b9b286","trace_id":"6d69bd11b4d340f031d41bf901bf7c96","duration":59.5,"timestamp":1646055673150137,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"37c402fff98fe986ebf5e3ba08420463\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"4df941c2-d7af-4b18-91a9-6634185f4cfc","x-runtime":"0.022663","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:13 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"91a1abfa8fcf2ca6","transaction_id":"b77a284902b9b286","parent_id":"b77a284902b9b286","trace_id":"6d69bd11b4d340f031d41bf901bf7c96","subtype":"http","action":"GET","timestamp":1646055673155104,"duration":42.085,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"eca910077b3b5814","trace_id":"205350c651448a7559eb5796a8d69fcb","parent_id":"ef3911b6e7ba9b39","duration":18.545,"timestamp":1646055673650020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:41:13 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"29a13454398776c7","trace_id":"aebfa79c5ba9876f7160b41af54f5393","duration":26.277,"timestamp":1646055674152026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:41:14 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"61e18a8f90013170","transaction_id":"29a13454398776c7","parent_id":"29a13454398776c7","trace_id":"aebfa79c5ba9876f7160b41af54f5393","subtype":"http","action":"GET","timestamp":1646055674156773,"duration":16.009,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"b2aa33cf5d3e5b94","trace_id":"c427f02a74648a76d8bb575c4df8beff","duration":6197.148,"timestamp":1646055668133017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:14 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"108580","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"d16c138f9acc3c38","transaction_id":"b2aa33cf5d3e5b94","parent_id":"b2aa33cf5d3e5b94","trace_id":"c427f02a74648a76d8bb575c4df8beff","subtype":"http","action":"GET","timestamp":1646055668139546,"duration":6186.719,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"58e7746f66de4d69","trace_id":"ee7b0bc230381bbeb19cdcb44eafaf71","parent_id":"22e04c5cfd162343","duration":99.949,"timestamp":1646055674395030,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/top","full":"http://opbeans-go:3000/api/products/top"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-ee7b0bc230381bbeb19cdcb44eafaf71-22e04c5cfd162343-01","traceparent":"00-ee7b0bc230381bbeb19cdcb44eafaf71-22e04c5cfd162343-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14, 172.23.0.9"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:14 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"071bc96e93821f4b","transaction_id":"58e7746f66de4d69","parent_id":"58e7746f66de4d69","trace_id":"ee7b0bc230381bbeb19cdcb44eafaf71","subtype":"http","action":"GET","timestamp":1646055674403715,"duration":77.386,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"764e1c6d776a6615","trace_id":"509c9105f82d421a2f1a1cd6fdc30730","parent_id":"56688ff73a077858","duration":38.59,"timestamp":1646055674628022,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-509c9105f82d421a2f1a1cd6fdc30730-56688ff73a077858-01","elastic-apm-traceparent":"00-509c9105f82d421a2f1a1cd6fdc30730-56688ff73a077858-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:41:14 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"4838b79c04e83130","transaction_id":"764e1c6d776a6615","parent_id":"764e1c6d776a6615","trace_id":"509c9105f82d421a2f1a1cd6fdc30730","subtype":"http","action":"GET","timestamp":1646055674635280,"duration":13.887,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"ea5605983708d07c","transaction_id":"0ce681ebc79aeb08","parent_id":"0ce681ebc79aeb08","trace_id":"0455e2ebd391c80c3685cc462ba0a05d","subtype":"postgresql","action":"query","timestamp":1646055674781063,"duration":9.367,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"e21474c05e1b0a7d","transaction_id":"0ce681ebc79aeb08","parent_id":"0ce681ebc79aeb08","trace_id":"0455e2ebd391c80c3685cc462ba0a05d","subtype":"postgresql","action":"query","timestamp":1646055674792670,"duration":2.769,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"0ce681ebc79aeb08","trace_id":"0455e2ebd391c80c3685cc462ba0a05d","parent_id":"394e32d46f746e41","duration":27.445,"timestamp":1646055674773073,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/2","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/2","full":"http://opbeans-go:3000/api/types/2"},"headers":{"host":"opbeans-go:3000","elastic-apm-traceparent":"00-0455e2ebd391c80c3685cc462ba0a05d-394e32d46f746e41-01","traceparent":"00-0455e2ebd391c80c3685cc462ba0a05d-394e32d46f746e41-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.10","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"205","etag":"W/\"cd-pFMi1QOVY6YqWe+nwcbZVviCths\"","date":"Mon, 28 Feb 2022 13:41:14 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"c4283ad55ac08a41","trace_id":"0455e2ebd391c80c3685cc462ba0a05d","duration":112.436,"timestamp":1646055674708023,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/2","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/2","full":"http://opbeans-node:3000/api/types/2"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"205","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:41:14 GMT","etag":"W/\"cd-pFMi1QOVY6YqWe+nwcbZVviCths\"","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"81e33f0a5cd98fcc","transaction_id":"c4283ad55ac08a41","parent_id":"c4283ad55ac08a41","trace_id":"0455e2ebd391c80c3685cc462ba0a05d","subtype":"http","action":"GET","timestamp":1646055674721621,"duration":90.355,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types/2"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"POST /api","type":"request","result":"HTTP 5xx","id":"ac45b25717cd110e","trace_id":"011cb4fbb9e9b4b5728ded4349d253f0","parent_id":"61ca0cdf8bc33dea","duration":235.992,"timestamp":1646055674746080,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"POST","url":{"raw":"/api/orders/csv","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/orders/csv","full":"http://opbeans-go:3000/api/orders/csv"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","content-length":"380","accept":"*/*","accept-encoding":"gzip, deflate","content-type":"multipart/form-data; boundary=e918d81daff3447dae2e76288d88f4f9","elastic-apm-traceparent":"00-011cb4fbb9e9b4b5728ded4349d253f0-61ca0cdf8bc33dea-01","traceparent":"00-011cb4fbb9e9b4b5728ded4349d253f0-61ca0cdf8bc33dea-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"},"body":"[REDACTED]"},"response":{"status_code":500,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:14 GMT","connection":"close","content-type":"text/html","x-frame-options":"DENY","content-length":"145","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"failure","sample_rate":1}} +{"span":{"name":"POST opbeans-python:3000","type":"external","id":"16e13384b63b5ac6","transaction_id":"ac45b25717cd110e","parent_id":"ac45b25717cd110e","trace_id":"011cb4fbb9e9b4b5728ded4349d253f0","subtype":"http","action":"POST","timestamp":1646055674764095,"duration":195.132,"context":{"http":{"method":"POST","status_code":500,"url":"http://opbeans-python:3000/api/orders/csv"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":75,"function":"serveStatic","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/body-parser/lib/types/json.js","lineno":119,"function":"jsonParser","library_frame":true,"abs_path":"/app/node_modules/body-parser/lib/types/json.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":58,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":["app.use(function (req, res, next) {"," req.log.debug('request received')"],"context_line":" next()","post_context":["})","app.use(require('body-parser').json())"]}],"sync":false,"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"dd80c437c60f2e58","trace_id":"4de2d90778a7beeccb933d94a60c9762","parent_id":"9d59211734c35bfb","duration":43.262,"timestamp":1646055675038020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/5/customers","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-4de2d90778a7beeccb933d94a60c9762-9d59211734c35bfb-01","traceparent":"00-4de2d90778a7beeccb933d94a60c9762-9d59211734c35bfb-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:41:15 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"b9e1514296d572bb","transaction_id":"dd80c437c60f2e58","parent_id":"dd80c437c60f2e58","trace_id":"4de2d90778a7beeccb933d94a60c9762","subtype":"postgresql","action":"query","timestamp":1646055675057588,"duration":10.631,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"82f17e995e959d8e","trace_id":"a613a5b260ab9727fb52824f51744450","duration":160.486,"timestamp":1646055675188019,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/210","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/210","full":"http://opbeans-node:3000/api/customers/210"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=UTF-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:15 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"dfa13554d9772ae1","transaction_id":"82f17e995e959d8e","parent_id":"82f17e995e959d8e","trace_id":"a613a5b260ab9727fb52824f51744450","subtype":"http","action":"GET","timestamp":1646055675206816,"duration":121.581,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-ruby:3000/api/customers/210"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"497cdc781ed39965","transaction_id":"6295a00648a108cd","parent_id":"6295a00648a108cd","trace_id":"fb842bc119ac96fe27ba4b208528a267","subtype":"postgresql","action":"query","timestamp":1646055675363224,"duration":5.677,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"6295a00648a108cd","trace_id":"fb842bc119ac96fe27ba4b208528a267","parent_id":"1a34b66339b30b26","duration":20.532,"timestamp":1646055675357015,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/711","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/711","full":"http://opbeans-go:3000/api/customers/711"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-fb842bc119ac96fe27ba4b208528a267-1a34b66339b30b26-01","traceparent":"00-fb842bc119ac96fe27ba4b208528a267-1a34b66339b30b26-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"197","etag":"W/\"c5-N5nQJVyDbx4oFOUlFe+eOQ8jOvo\"","date":"Mon, 28 Feb 2022 13:41:15 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"22222121d0c69955","transaction_id":"d18ac958e77ce111","parent_id":"d18ac958e77ce111","trace_id":"af4f6101c3d8de03ffe602f5a91a10d0","subtype":"http","action":"GET","timestamp":1646055675445785,"duration":9.702,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types/2"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"d18ac958e77ce111","trace_id":"af4f6101c3d8de03ffe602f5a91a10d0","parent_id":"4458666825e270ed","duration":17.445,"timestamp":1646055675441015,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/2","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/2","full":"http://opbeans-go:3000/api/types/2"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-af4f6101c3d8de03ffe602f5a91a10d0-4458666825e270ed-01","traceparent":"00-af4f6101c3d8de03ffe602f5a91a10d0-4458666825e270ed-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:41:15 GMT","content-length":"37","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"48ae037f74d145e7","trace_id":"9591ba4869bb5fd3a8a934420f9bb3eb","parent_id":"7cb094191cf96a40","duration":26.931,"timestamp":1646055675533050,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/3","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/3","full":"http://opbeans-go:3000/api/products/3"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-9591ba4869bb5fd3a8a934420f9bb3eb-7cb094191cf96a40-01","traceparent":"00-9591ba4869bb5fd3a8a934420f9bb3eb-7cb094191cf96a40-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:41:15 GMT","content-length":"231","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"ff92546361c76f8e","transaction_id":"48ae037f74d145e7","parent_id":"48ae037f74d145e7","trace_id":"9591ba4869bb5fd3a8a934420f9bb3eb","subtype":"http","action":"GET","timestamp":1646055675544592,"duration":10.769,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/3"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"af14a331112ccf72","trace_id":"f1f60e0cb72c39001363a0336a151e02","duration":62.953,"timestamp":1646055675663038,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers?count=orders&limit=50","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5/customers","search":"?count=orders&limit=50","full":"http://opbeans-node:3000/api/products/5/customers?count=orders&limit=50"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:41:15 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"86747462a0f19ac9","transaction_id":"af14a331112ccf72","parent_id":"af14a331112ccf72","trace_id":"f1f60e0cb72c39001363a0336a151e02","subtype":"postgresql","action":"query","timestamp":1646055675697421,"duration":11.394,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"570cd147560d9590","transaction_id":"d9d4949bdf0c2e25","parent_id":"d9d4949bdf0c2e25","trace_id":"8c4520e4f568f760d79f006c2b14e385","subtype":"redis","action":null,"timestamp":1646055675753569,"duration":5.207,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"805c7d798b6d0649","transaction_id":"d9d4949bdf0c2e25","parent_id":"d9d4949bdf0c2e25","trace_id":"8c4520e4f568f760d79f006c2b14e385","subtype":"postgresql","action":"query","timestamp":1646055675766409,"duration":6.836,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"d9d4949bdf0c2e25","trace_id":"8c4520e4f568f760d79f006c2b14e385","parent_id":"b4c2f5acc6b9139c","duration":48.887,"timestamp":1646055675740097,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-8c4520e4f568f760d79f006c2b14e385-b4c2f5acc6b9139c-01","elastic-apm-traceparent":"00-8c4520e4f568f760d79f006c2b14e385-b4c2f5acc6b9139c-01","tracestate":"es=s:1"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:41:15 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"54aca5440d9b617c","transaction_id":"0671522bb07b68ca","parent_id":"0671522bb07b68ca","trace_id":"d91c53c341d0b0b70c88715884373c72","subtype":"redis","action":null,"timestamp":1646055675993225,"duration":7.858,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"9bab15f6c0f225c2","transaction_id":"0671522bb07b68ca","parent_id":"0671522bb07b68ca","trace_id":"d91c53c341d0b0b70c88715884373c72","subtype":"postgresql","action":"query","timestamp":1646055676025825,"duration":83.079,"context":{"db":{"statement":"SELECT * FROM customers LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers","type":"request","result":"HTTP 2xx","id":"0671522bb07b68ca","trace_id":"d91c53c341d0b0b70c88715884373c72","parent_id":"a467791be139393c","duration":182.973,"timestamp":1646055675977033,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers","full":"http://opbeans-go:3000/api/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-d91c53c341d0b0b70c88715884373c72-a467791be139393c-01","traceparent":"00-d91c53c341d0b0b70c88715884373c72-a467791be139393c-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"186769","etag":"W/\"2d991-yG3J8W/roH7fSxXTudZrO27Ax9s\"","date":"Mon, 28 Feb 2022 13:41:16 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"bcc6dbb407e17d56","trace_id":"e2b90ac0e63a4adbcd4ae7789066714a","parent_id":"ef103633783a2ac5","duration":41.257,"timestamp":1646055676183027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:41:16 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"3f846884888a4a08","trace_id":"9143bcc3869ffcdcbaa8275146475b0c","parent_id":"234a76a62bba6b7d","duration":38.882,"timestamp":1646055676198013,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/7555","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/7555","full":"http://opbeans-node:3000/api/customers/7555"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-9143bcc3869ffcdcbaa8275146475b0c-234a76a62bba6b7d-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-9143bcc3869ffcdcbaa8275146475b0c-234a76a62bba6b7d-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:41:16 GMT","content-length":"0","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"9c129593f28a3f40","transaction_id":"3f846884888a4a08","parent_id":"3f846884888a4a08","trace_id":"9143bcc3869ffcdcbaa8275146475b0c","subtype":"http","action":"GET","timestamp":1646055676202789,"duration":29.786,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-go:3000/api/customers/7555"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"f56bb15c02c544f8","trace_id":"78b73197f7d07f6dc9293a8117c15f77","duration":50.296,"timestamp":1646055676655028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:41:16 GMT","content-length":"411","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"8726c3a5f6c8d610","transaction_id":"f56bb15c02c544f8","parent_id":"f56bb15c02c544f8","trace_id":"78b73197f7d07f6dc9293a8117c15f77","subtype":"http","action":"GET","timestamp":1646055676662704,"duration":25.076,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"5e9250922650aab2","trace_id":"56bb33dbf6dcecb30022697ba59b60fe","duration":6549.7,"timestamp":1646055670651018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:17 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"108580","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"d7f9ca6349580ca8","transaction_id":"5e9250922650aab2","parent_id":"5e9250922650aab2","trace_id":"56bb33dbf6dcecb30022697ba59b60fe","subtype":"http","action":"GET","timestamp":1646055670660804,"duration":6535.543,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"3d211548983937b6","trace_id":"a5c3e19f9c79be3f2068f74ddf9f8850","duration":88.75,"timestamp":1646055677652015,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"6b84b8cfae4908f93f790804f2c9e7c9\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"3b1a038e-7c04-4a76-bfaf-337d28e44d7d","x-runtime":"0.044814","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:17 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"c83f90502098db97","transaction_id":"3d211548983937b6","parent_id":"3d211548983937b6","trace_id":"a5c3e19f9c79be3f2068f74ddf9f8850","subtype":"http","action":"GET","timestamp":1646055677660323,"duration":64.919,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"03d3f7d9864c884d","trace_id":"22c93a04e0b74671d90b1252854aff0f","duration":672.601,"timestamp":1646055677151016,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/2","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/2","full":"http://opbeans-node:3000/api/types/2"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"221","content-type":"application/json","date":"Mon, 28 Feb 2022 13:41:17 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"4c52ba5fbbc0d3f4","transaction_id":"03d3f7d9864c884d","parent_id":"03d3f7d9864c884d","trace_id":"22c93a04e0b74671d90b1252854aff0f","subtype":"http","action":"GET","timestamp":1646055677155608,"duration":663.325,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types/2"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 4xx","id":"983e4e7426105377","trace_id":"eaebf48a8966a71455d3c726ce9ef181","parent_id":"98dde55443efec27","duration":141.072,"timestamp":1646055678067466,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/321","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/customers/321","full":"http://opbeans-go:3000/api/customers/321"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-eaebf48a8966a71455d3c726ce9ef181-98dde55443efec27-01","traceparent":"00-eaebf48a8966a71455d3c726ce9ef181-98dde55443efec27-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","content-length":"1722","content-type":"text/html; charset=UTF-8","date":"Mon, 28 Feb 2022 13:41:18 GMT","x-request-id":"3f980541-ac7a-474d-b935-6a8bae3aa05f","x-runtime":"0.027940","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"269d5ed467a005e6","transaction_id":"983e4e7426105377","parent_id":"983e4e7426105377","trace_id":"eaebf48a8966a71455d3c726ce9ef181","subtype":"http","action":"GET","timestamp":1646055678092384,"duration":87.983,"context":{"http":{"method":"GET","status_code":404,"url":"http://opbeans-go:3000/api/customers/321"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"failure","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"8a4b39ab5c4bd6c4","transaction_id":"d383cbfd1191437a","parent_id":"d383cbfd1191437a","trace_id":"e4b0951ed19d10733c9fd22063bd48b2","subtype":"redis","action":null,"timestamp":1646055678250869,"duration":26.258,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"stacktrace":[{"filename":"node_modules/redis/lib/commands.js","lineno":46,"function":"get","library_frame":true,"abs_path":"/app/node_modules/redis/lib/commands.js"},{"filename":"server/routes.js","lineno":217,"function":"","library_frame":false,"abs_path":"/app/server/routes.js","pre_context":["","app.get('/orders', function (req, res) {"],"context_line":" redis.get('orders', function (err, obj) {","post_context":[" if (err) apm.captureError(err)"," else if (obj) return res.json(obj)"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":137,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/route.js","lineno":112,"function":"dispatch","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/route.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":281,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":88,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":["app.use('/api', function (req, res, next) {"," if (Math.random() > opbeansRedirectProbability) {"],"context_line":" return next()","post_context":[" }",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"d383cbfd1191437a","trace_id":"e4b0951ed19d10733c9fd22063bd48b2","duration":123.894,"timestamp":1646055678217085,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:41:18 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"63ee2a52269dcab6","transaction_id":"d383cbfd1191437a","parent_id":"d383cbfd1191437a","trace_id":"e4b0951ed19d10733c9fd22063bd48b2","subtype":"postgresql","action":"query","timestamp":1646055678293285,"duration":35.711,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"865b69768583dc6a","trace_id":"9ddd8dfd2ee304174243d07514d64909","parent_id":"1d23432e5e81bca1","duration":26.73,"timestamp":1646055678369113,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"host":"opbeans-node:3000","user-agent":"Wget","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:41:18 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"cabe17e8acdb4039","trace_id":"c3f83f5dd10c66b7964c72a5b98d2018","parent_id":"72f260a911107461","duration":129.622,"timestamp":1646055678297021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/2","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/2","full":"http://opbeans-go:3000/api/types/2"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-c3f83f5dd10c66b7964c72a5b98d2018-72f260a911107461-01","traceparent":"00-c3f83f5dd10c66b7964c72a5b98d2018-72f260a911107461-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","cache-control":"max-age=0, private, must-revalidate","content-type":"application/json; charset=utf-8","etag":"W/\"86dca956c4d935f7a1a446036838b927\"","referrer-policy":"strict-origin-when-cross-origin","x-content-type-options":"nosniff","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-request-id":"af351e4a-82bd-439b-befd-a394623f28b7","x-runtime":"0.022954","x-xss-protection":"1; mode=block","date":"Mon, 28 Feb 2022 13:41:18 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"e6c6585d05b68193","transaction_id":"cabe17e8acdb4039","parent_id":"cabe17e8acdb4039","trace_id":"c3f83f5dd10c66b7964c72a5b98d2018","subtype":"http","action":"GET","timestamp":1646055678309591,"duration":109.561,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types/2"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"87885af141f5d632","transaction_id":"8afbcddb810ea682","parent_id":"8afbcddb810ea682","trace_id":"d3c917230c2747a3db213f9573230734","subtype":"postgresql","action":"query","timestamp":1646055678464807,"duration":2.256,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ef9c80437ab7ce10","transaction_id":"8afbcddb810ea682","parent_id":"8afbcddb810ea682","trace_id":"d3c917230c2747a3db213f9573230734","subtype":"postgresql","action":"query","timestamp":1646055678475932,"duration":6.831,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"a9121e94fa6c943b","transaction_id":"8afbcddb810ea682","parent_id":"8afbcddb810ea682","trace_id":"d3c917230c2747a3db213f9573230734","subtype":"postgresql","action":"query","timestamp":1646055678477601,"duration":7.541,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"8afbcddb810ea682","trace_id":"d3c917230c2747a3db213f9573230734","parent_id":"e4a1e1175a66eb24","duration":43.847,"timestamp":1646055678460013,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/top","full":"http://opbeans-go:3000/api/products/top"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-d3c917230c2747a3db213f9573230734-e4a1e1175a66eb24-01","traceparent":"00-d3c917230c2747a3db213f9573230734-e4a1e1175a66eb24-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:41:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ade2650b176827df","transaction_id":"8afbcddb810ea682","parent_id":"8afbcddb810ea682","trace_id":"d3c917230c2747a3db213f9573230734","subtype":"postgresql","action":"query","timestamp":1646055678479801,"duration":13.788,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"43876f3780158f1f","trace_id":"55fece6dc0d8168dc4acda4cbad42799","parent_id":"05cb998c571acfd2","duration":25.331,"timestamp":1646055678653016,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:41:18 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"a0a30acde98e340d","trace_id":"e0810cf1423288ce8686af5da3a134a0","parent_id":"980ed86a9917a545","duration":108.109,"timestamp":1646055678615049,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-e0810cf1423288ce8686af5da3a134a0-980ed86a9917a545-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-e0810cf1423288ce8686af5da3a134a0-980ed86a9917a545-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json","date":"Mon, 28 Feb 2022 13:41:18 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"91820ef6856152f8","transaction_id":"a0a30acde98e340d","parent_id":"a0a30acde98e340d","trace_id":"e0810cf1423288ce8686af5da3a134a0","subtype":"http","action":"GET","timestamp":1646055678632770,"duration":83.705,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"db8aa1643c6d4f95","transaction_id":"7fd0247b7a39ac66","parent_id":"7fd0247b7a39ac66","trace_id":"abc79ec3c848dd06a057b9e31433457f","subtype":"postgresql","action":"query","timestamp":1646055678874121,"duration":5.826,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"7fd0247b7a39ac66","trace_id":"abc79ec3c848dd06a057b9e31433457f","parent_id":"139492f68d256dd8","duration":24.505,"timestamp":1646055678867055,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/5/customers","full":"http://opbeans-go:3000/api/products/5/customers"},"headers":{"host":"opbeans-go:3000","user-agent":"http.rb/5.0.4","elastic-apm-traceparent":"00-abc79ec3c848dd06a057b9e31433457f-139492f68d256dd8-01","traceparent":"00-abc79ec3c848dd06a057b9e31433457f-139492f68d256dd8-01","tracestate":"es=s:1.0","x-forwarded-for":"172.23.0.12","accept-encoding":"gzip"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:41:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"e58f00c0568ea8d2","trace_id":"abc79ec3c848dd06a057b9e31433457f","parent_id":"3d6b1961dfdd73dc","duration":82.497,"timestamp":1646055678829026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers?limit=90","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/5/customers","search":"?limit=90","full":"http://opbeans-go:3000/api/products/5/customers?limit=90"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-abc79ec3c848dd06a057b9e31433457f-3d6b1961dfdd73dc-01","traceparent":"00-abc79ec3c848dd06a057b9e31433457f-3d6b1961dfdd73dc-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:18 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"90df310662c148ad","transaction_id":"e58f00c0568ea8d2","parent_id":"e58f00c0568ea8d2","trace_id":"abc79ec3c848dd06a057b9e31433457f","subtype":"http","action":"GET","timestamp":1646055678839017,"duration":68.125,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products/5/customers?limit=90"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"e8e943b3be31b11d","transaction_id":"a3b39c8b86fb8e52","parent_id":"a3b39c8b86fb8e52","trace_id":"a12082e4c167f3be5aec2db024f68e83","subtype":"postgresql","action":"query","timestamp":1646055679109333,"duration":3.264,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"a3b39c8b86fb8e52","trace_id":"a12082e4c167f3be5aec2db024f68e83","parent_id":"02bb41d3e4c68ea6","duration":10.262,"timestamp":1646055679105015,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/174","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/174","full":"http://opbeans-node:3000/api/orders/174"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-a12082e4c167f3be5aec2db024f68e83-02bb41d3e4c68ea6-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-a12082e4c167f3be5aec2db024f68e83-02bb41d3e4c68ea6-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:41:19 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"e8422fa011806c83","trace_id":"75339d7aa498d9c17172c4eeb3f6cff4","parent_id":"8a879fc1c92da1e6","duration":161.563,"timestamp":1646055679055018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/4","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/4","full":"http://opbeans-go:3000/api/products/4"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-75339d7aa498d9c17172c4eeb3f6cff4-8a879fc1c92da1e6-01","traceparent":"00-75339d7aa498d9c17172c4eeb3f6cff4-8a879fc1c92da1e6-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:19 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"331","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"f5de7262199f720e","transaction_id":"e8422fa011806c83","parent_id":"e8422fa011806c83","trace_id":"75339d7aa498d9c17172c4eeb3f6cff4","subtype":"http","action":"GET","timestamp":1646055679059333,"duration":153.915,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/4"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"f3e90c3b4462e706","trace_id":"b6029695988a42fac663a6b6b3262373","duration":134.802,"timestamp":1646055679152014,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:19 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"352","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"50f7625c6f275771","transaction_id":"f3e90c3b4462e706","parent_id":"f3e90c3b4462e706","trace_id":"b6029695988a42fac663a6b6b3262373","subtype":"http","action":"GET","timestamp":1646055679160183,"duration":114.677,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/types"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"3fef7620dbe93483","trace_id":"129d1d47eb4444e7e9439254c7a5f259","parent_id":"49a42ae502423be9","duration":79.272,"timestamp":1646055679367027,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products","full":"http://opbeans-go:3000/api/products"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-129d1d47eb4444e7e9439254c7a5f259-49a42ae502423be9-01","traceparent":"00-129d1d47eb4444e7e9439254c7a5f259-49a42ae502423be9-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:19 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"2134","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"b4e19ffa9e7ef95c","transaction_id":"3fef7620dbe93483","parent_id":"3fef7620dbe93483","trace_id":"129d1d47eb4444e7e9439254c7a5f259","subtype":"http","action":"GET","timestamp":1646055679384809,"duration":56.344,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"0938993a9a784e06","transaction_id":"3c58be5b2cdc7714","parent_id":"3c58be5b2cdc7714","trace_id":"0eb9b83d0d0b752eca2ad531e8a61e24","subtype":"postgresql","action":"query","timestamp":1646055679658794,"duration":5.349,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"a7e528401234742d","transaction_id":"3c58be5b2cdc7714","parent_id":"3c58be5b2cdc7714","trace_id":"0eb9b83d0d0b752eca2ad531e8a61e24","subtype":"postgresql","action":"query","timestamp":1646055679665348,"duration":11.631,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"69d9a84e097c09d0","transaction_id":"3c58be5b2cdc7714","parent_id":"3c58be5b2cdc7714","trace_id":"0eb9b83d0d0b752eca2ad531e8a61e24","subtype":"postgresql","action":"query","timestamp":1646055679669392,"duration":13.416,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"3c58be5b2cdc7714","trace_id":"0eb9b83d0d0b752eca2ad531e8a61e24","duration":45.399,"timestamp":1646055679655021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:41:19 GMT","connection":"close"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"a69e9a4b1fc498ce","transaction_id":"3c58be5b2cdc7714","parent_id":"3c58be5b2cdc7714","trace_id":"0eb9b83d0d0b752eca2ad531e8a61e24","subtype":"postgresql","action":"query","timestamp":1646055679674202,"duration":16.851,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"757221dfb2830f6a","transaction_id":"13b3aab6ca22844a","parent_id":"13b3aab6ca22844a","trace_id":"f0ccca6649e6080887081482564b6d4b","subtype":"redis","action":null,"timestamp":1646055679783335,"duration":1.717,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"545df018ad1e99dd","transaction_id":"13b3aab6ca22844a","parent_id":"13b3aab6ca22844a","trace_id":"f0ccca6649e6080887081482564b6d4b","subtype":"postgresql","action":"query","timestamp":1646055679788085,"duration":2.494,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"13b3aab6ca22844a","trace_id":"f0ccca6649e6080887081482564b6d4b","parent_id":"8e25d61dcd787392","duration":20.864,"timestamp":1646055679779013,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-f0ccca6649e6080887081482564b6d4b-8e25d61dcd787392-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-f0ccca6649e6080887081482564b6d4b-8e25d61dcd787392-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:41:19 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"3b64eba9ef3c7c2c","trace_id":"f0ccca6649e6080887081482564b6d4b","parent_id":"7feb8d5b5575d142","duration":51.511,"timestamp":1646055679760015,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-f0ccca6649e6080887081482564b6d4b-7feb8d5b5575d142-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-f0ccca6649e6080887081482564b6d4b-7feb8d5b5575d142-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:19 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"99339b48a4ec1891","transaction_id":"3b64eba9ef3c7c2c","parent_id":"3b64eba9ef3c7c2c","trace_id":"f0ccca6649e6080887081482564b6d4b","subtype":"http","action":"GET","timestamp":1646055679764016,"duration":42.221,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"c7c7bb1bde4a29b6","transaction_id":"1882e4d7c6f95527","parent_id":"1882e4d7c6f95527","trace_id":"00c163b7a2073c43532e04b09f2e77a6","subtype":"postgresql","action":"query","timestamp":1646055679882012,"duration":13.251,"context":{"db":{"statement":"SELECT COUNT(*) FROM products","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"bfe2130fd9b9c46d","transaction_id":"1882e4d7c6f95527","parent_id":"1882e4d7c6f95527","trace_id":"00c163b7a2073c43532e04b09f2e77a6","subtype":"postgresql","action":"query","timestamp":1646055679888180,"duration":10.169,"context":{"db":{"statement":"SELECT COUNT(*) FROM customers","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"0c71e4f7b8627db0","transaction_id":"1882e4d7c6f95527","parent_id":"1882e4d7c6f95527","trace_id":"00c163b7a2073c43532e04b09f2e77a6","subtype":"postgresql","action":"query","timestamp":1646055679890149,"duration":10.737,"context":{"db":{"statement":"SELECT COUNT(*) FROM orders","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"1ea24d3dd5e3f5e9","transaction_id":"1882e4d7c6f95527","parent_id":"1882e4d7c6f95527","trace_id":"00c163b7a2073c43532e04b09f2e77a6","subtype":"postgresql","action":"query","timestamp":1646055679912141,"duration":4.558,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":true,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/stats","type":"request","result":"HTTP 2xx","id":"1882e4d7c6f95527","trace_id":"00c163b7a2073c43532e04b09f2e77a6","parent_id":"28119ff36ebb238c","duration":72.298,"timestamp":1646055679877021,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-00c163b7a2073c43532e04b09f2e77a6-28119ff36ebb238c-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-00c163b7a2073c43532e04b09f2e77a6-28119ff36ebb238c-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"108","etag":"W/\"6c-t7HmStN3fR0Y5XCG92GLzVuOzaA\"","date":"Mon, 28 Feb 2022 13:41:19 GMT","connection":"close"}}},"span_count":{"started":7},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"fb726b896b5a5532","transaction_id":"1882e4d7c6f95527","parent_id":"1882e4d7c6f95527","trace_id":"00c163b7a2073c43532e04b09f2e77a6","subtype":"postgresql","action":"query","timestamp":1646055679918048,"duration":11.371,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"8c4df4b18a120e2d","transaction_id":"1882e4d7c6f95527","parent_id":"1882e4d7c6f95527","trace_id":"00c163b7a2073c43532e04b09f2e77a6","subtype":"postgresql","action":"query","timestamp":1646055679921096,"duration":11.087,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"26312e504f2c754c","transaction_id":"1882e4d7c6f95527","parent_id":"1882e4d7c6f95527","trace_id":"00c163b7a2073c43532e04b09f2e77a6","subtype":"postgresql","action":"query","timestamp":1646055679923360,"duration":11.432,"context":{"db":{"statement":"SELECT cost, selling_price FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"4393b70bf1d20087","trace_id":"06b3682161ea3a4bbf859d9c304eef40","parent_id":"2db275974321a03b","duration":189.822,"timestamp":1646055679845016,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-06b3682161ea3a4bbf859d9c304eef40-2db275974321a03b-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-06b3682161ea3a4bbf859d9c304eef40-2db275974321a03b-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:20 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"309","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"ec261a1c3578a968","transaction_id":"4393b70bf1d20087","parent_id":"4393b70bf1d20087","trace_id":"06b3682161ea3a4bbf859d9c304eef40","subtype":"http","action":"GET","timestamp":1646055679848793,"duration":167.917,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"f337325b0054e385","transaction_id":"5fc8620b6582a022","parent_id":"5fc8620b6582a022","trace_id":"63816ce7bad0be45dc234f6dbe010ac2","subtype":"postgresql","action":"query","timestamp":1646055680086416,"duration":2.63,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"48569cf350aa7f8e","transaction_id":"5fc8620b6582a022","parent_id":"5fc8620b6582a022","trace_id":"63816ce7bad0be45dc234f6dbe010ac2","subtype":"postgresql","action":"query","timestamp":1646055680090247,"duration":9.241,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"8b92839ce60b061b","transaction_id":"5fc8620b6582a022","parent_id":"5fc8620b6582a022","trace_id":"63816ce7bad0be45dc234f6dbe010ac2","subtype":"postgresql","action":"query","timestamp":1646055680094899,"duration":6.029,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"2132d95f91173f67","transaction_id":"5fc8620b6582a022","parent_id":"5fc8620b6582a022","trace_id":"63816ce7bad0be45dc234f6dbe010ac2","subtype":"postgresql","action":"query","timestamp":1646055680096802,"duration":5.312,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"5fc8620b6582a022","trace_id":"63816ce7bad0be45dc234f6dbe010ac2","parent_id":"e844fafacaa6688e","duration":23.153,"timestamp":1646055680082017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-63816ce7bad0be45dc234f6dbe010ac2-e844fafacaa6688e-01","elastic-apm-traceparent":"00-63816ce7bad0be45dc234f6dbe010ac2-e844fafacaa6688e-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:41:20 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"51852a2459123b54","transaction_id":"fdddf9292bfe655a","parent_id":"fdddf9292bfe655a","trace_id":"673aaa9d33fdaeddec30f3a76f61450e","subtype":"redis","action":null,"timestamp":1646055680124274,"duration":1.917,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"93e889d41e03040f","transaction_id":"fdddf9292bfe655a","parent_id":"fdddf9292bfe655a","trace_id":"673aaa9d33fdaeddec30f3a76f61450e","subtype":"postgresql","action":"query","timestamp":1646055680127342,"duration":3.445,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"fdddf9292bfe655a","trace_id":"673aaa9d33fdaeddec30f3a76f61450e","parent_id":"e473f66663bc2e53","duration":15.118,"timestamp":1646055680120014,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-673aaa9d33fdaeddec30f3a76f61450e-e473f66663bc2e53-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-673aaa9d33fdaeddec30f3a76f61450e-e473f66663bc2e53-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:41:20 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"90384d0c9c960791","trace_id":"2e74c4d73e3622976b21a225942fb115","duration":30.06,"timestamp":1646055680173033,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/268","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/268","full":"http://opbeans-node:3000/api/orders/268"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:41:20 GMT","content-length":"279","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"44f7dbd687f35cf5","transaction_id":"90384d0c9c960791","parent_id":"90384d0c9c960791","trace_id":"2e74c4d73e3622976b21a225942fb115","subtype":"http","action":"GET","timestamp":1646055680176821,"duration":15.522,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders/268"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"2941cd5a66f7dc3f","transaction_id":"0c015ee9b1dd78ca","parent_id":"0c015ee9b1dd78ca","trace_id":"96115d97eb2452d3a39a93bd170ebebf","subtype":"postgresql","action":"query","timestamp":1646055680501959,"duration":5.779,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"f986ac7d39f8efec","transaction_id":"0c015ee9b1dd78ca","parent_id":"0c015ee9b1dd78ca","trace_id":"96115d97eb2452d3a39a93bd170ebebf","subtype":"postgresql","action":"query","timestamp":1646055680514988,"duration":5.719,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"0c015ee9b1dd78ca","trace_id":"96115d97eb2452d3a39a93bd170ebebf","parent_id":"61bfb863eda6eddc","duration":39.337,"timestamp":1646055680491018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/3","full":"http://opbeans-node:3000/api/types/3"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-96115d97eb2452d3a39a93bd170ebebf-61bfb863eda6eddc-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-96115d97eb2452d3a39a93bd170ebebf-61bfb863eda6eddc-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"189","etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","date":"Mon, 28 Feb 2022 13:41:20 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"96c7a82d918c30f6","transaction_id":"ed89250fa5fd1d36","parent_id":"ed89250fa5fd1d36","trace_id":"7c52703ca5e7262d11dd5c07c25d29fa","subtype":"redis","action":null,"timestamp":1646055680682693,"duration":6.408,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"ea5566f5e5ac37ee","transaction_id":"ed89250fa5fd1d36","parent_id":"ed89250fa5fd1d36","trace_id":"7c52703ca5e7262d11dd5c07c25d29fa","subtype":"postgresql","action":"query","timestamp":1646055680702399,"duration":7.686,"context":{"db":{"statement":"SELECT * FROM product_types","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types","type":"request","result":"HTTP 2xx","id":"ed89250fa5fd1d36","trace_id":"7c52703ca5e7262d11dd5c07c25d29fa","duration":83.55,"timestamp":1646055680656020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"112","etag":"W/\"70-1z6hT7P1WHgBgS/BeUEVeHhOCQU\"","date":"Mon, 28 Feb 2022 13:41:20 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"ddb9c409da6666bc","trace_id":"c2eb15e432794a73b68961cc5573aeb5","duration":100.333,"timestamp":1646055681194049,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:41:21 GMT","content-length":"110","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"71002920a5c8a8a7","transaction_id":"ddb9c409da6666bc","parent_id":"ddb9c409da6666bc","trace_id":"c2eb15e432794a73b68961cc5573aeb5","subtype":"http","action":"GET","timestamp":1646055681227646,"duration":36.189,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"c02c1a583873aa67","trace_id":"6c00f95cd56b03f2f3b29c83b6a25f29","parent_id":"f3238423e3ecff5b","duration":62.19,"timestamp":1646055681627015,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/1","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types/1","full":"http://opbeans-node:3000/api/types/1"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-6c00f95cd56b03f2f3b29c83b6a25f29-f3238423e3ecff5b-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-6c00f95cd56b03f2f3b29c83b6a25f29-f3238423e3ecff5b-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"658ac86b5b65e3d6724bd91007f7bcdd\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"58fefea8-0cfa-40f6-afa5-d2cb126884a5","x-runtime":"0.013833","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:21 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"2dc599fb059bb60e","transaction_id":"c02c1a583873aa67","parent_id":"c02c1a583873aa67","trace_id":"6c00f95cd56b03f2f3b29c83b6a25f29","subtype":"http","action":"GET","timestamp":1646055681631182,"duration":37.446,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types/1"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id/customers","type":"request","result":"HTTP 2xx","id":"9afc9fe03f00584d","trace_id":"a80ead92e006cdfe58d43d00ba78308c","duration":53.506,"timestamp":1646055681654013,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/5/customers?count=orders&limit=50","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/5/customers","search":"?count=orders&limit=50","full":"http://opbeans-node:3000/api/products/5/customers?count=orders&limit=50"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"2","etag":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","date":"Mon, 28 Feb 2022 13:41:21 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"bc9764ca67a36420","transaction_id":"9afc9fe03f00584d","parent_id":"9afc9fe03f00584d","trace_id":"a80ead92e006cdfe58d43d00ba78308c","subtype":"postgresql","action":"query","timestamp":1646055681659783,"duration":37.762,"context":{"db":{"statement":"SELECT c.* FROM customers c LEFT JOIN orders o ON c.id=o.customer_id LEFT JOIN order_lines l ON o.id=l.order_id LEFT JOIN products p ON l.product_id=p.id WHERE p.id=$1 LIMIT $2","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"d04fdc1328cbab70","transaction_id":"5e296e4b8789b2f0","parent_id":"5e296e4b8789b2f0","trace_id":"43d6c95e7a0a965ad63b68aaac1ae18c","subtype":"redis","action":null,"timestamp":1646055682164438,"duration":5.759,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"31ea9cd211730fc8","transaction_id":"5e296e4b8789b2f0","parent_id":"5e296e4b8789b2f0","trace_id":"43d6c95e7a0a965ad63b68aaac1ae18c","subtype":"postgresql","action":"query","timestamp":1646055682171662,"duration":4.9,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"5e296e4b8789b2f0","trace_id":"43d6c95e7a0a965ad63b68aaac1ae18c","duration":40.161,"timestamp":1646055682157028,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:41:22 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"1ab0d06d2c0f8b5c","trace_id":"120005287d24c4fde5f30e79d30c1126","parent_id":"acb26b80fdc45155","duration":44.885,"timestamp":1646055682437013,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers","full":"http://opbeans-node:3000/api/customers"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-120005287d24c4fde5f30e79d30c1126-acb26b80fdc45155-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-120005287d24c4fde5f30e79d30c1126-acb26b80fdc45155-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"37992d7e5d1df22332cd7c5be552ddce\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"e80844f4-0890-4fd6-a90c-5e051c55f579","x-runtime":"0.015901","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:22 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"843696eab634daa3","transaction_id":"1ab0d06d2c0f8b5c","parent_id":"1ab0d06d2c0f8b5c","trace_id":"120005287d24c4fde5f30e79d30c1126","subtype":"http","action":"GET","timestamp":1646055682441514,"duration":36.76,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/customers"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM order_lines","type":"db","id":"b932a6ca8c86f0f1","transaction_id":"42da6837c0bb21c0","parent_id":"42da6837c0bb21c0","trace_id":"f0a87ff07e60c1017264f671122347ac","subtype":"postgresql","action":"query","timestamp":1646055682667637,"duration":3.491,"context":{"db":{"statement":"SELECT product_id, COUNT(product_id) AS amount FROM order_lines GROUP BY product_id LIMIT 3","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"6d348cb601e3f30f","trace_id":"c53150b25141d281f65aa1f425c6387a","parent_id":"7a11059a5ef4df3d","duration":28.886,"timestamp":1646055682653013,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:41:22 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/top","type":"request","result":"HTTP 2xx","id":"42da6837c0bb21c0","trace_id":"f0a87ff07e60c1017264f671122347ac","parent_id":"a939f5168e184671","duration":30.872,"timestamp":1646055682663014,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-f0a87ff07e60c1017264f671122347ac-a939f5168e184671-01","elastic-apm-traceparent":"00-f0a87ff07e60c1017264f671122347ac-a939f5168e184671-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"275","etag":"W/\"113-kGf/4E6c4vAA/SGw6gYFM6YnwsY\"","date":"Mon, 28 Feb 2022 13:41:22 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":4},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"675125a0ab64397d","transaction_id":"42da6837c0bb21c0","parent_id":"42da6837c0bb21c0","trace_id":"f0a87ff07e60c1017264f671122347ac","subtype":"postgresql","action":"query","timestamp":1646055682672439,"duration":12.978,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"14fcc3f499a64c3a","transaction_id":"42da6837c0bb21c0","parent_id":"42da6837c0bb21c0","trace_id":"f0a87ff07e60c1017264f671122347ac","subtype":"postgresql","action":"query","timestamp":1646055682674696,"duration":13.375,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"ff58093440e21ac3","transaction_id":"42da6837c0bb21c0","parent_id":"42da6837c0bb21c0","trace_id":"f0a87ff07e60c1017264f671122347ac","subtype":"postgresql","action":"query","timestamp":1646055682677056,"duration":13.455,"context":{"db":{"statement":"SELECT id, sku, name, stock FROM products WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /*","type":"request","result":"HTTP 2xx","id":"0e5fffcd49bfb9e8","trace_id":"5932140f5ace8f824c2b312b9d392753","parent_id":"44069821b789ff2e","duration":8.762,"timestamp":1646055683163018,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/","full":"http://opbeans-node:3000/"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html","content-length":"813","date":"Mon, 28 Feb 2022 13:41:23 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"c71ea64b2c5599d9","trace_id":"dd9877bbddfa0df681622d13c2b23129","parent_id":"e9d40f275794e360","duration":112.159,"timestamp":1646055683208014,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/stats","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/stats","full":"http://opbeans-node:3000/api/stats"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-dd9877bbddfa0df681622d13c2b23129-e9d40f275794e360-01","elastic-apm-traceparent":"00-dd9877bbddfa0df681622d13c2b23129-e9d40f275794e360-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:41:23 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"bb968097862cc439","transaction_id":"c71ea64b2c5599d9","parent_id":"c71ea64b2c5599d9","trace_id":"dd9877bbddfa0df681622d13c2b23129","subtype":"http","action":"GET","timestamp":1646055683213146,"duration":89.796,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/stats"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"a0ee077f8a8c0cf0","transaction_id":"dd7b46170b6266f6","parent_id":"dd7b46170b6266f6","trace_id":"f12c39982d30c780df104bbf6c833bca","subtype":"postgresql","action":"query","timestamp":1646055683663222,"duration":5.43,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 4xx","id":"dd7b46170b6266f6","trace_id":"f12c39982d30c780df104bbf6c833bca","parent_id":"90628c4f27fac178","duration":20.891,"timestamp":1646055683654017,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/8752","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/8752","full":"http://opbeans-node:3000/api/customers/8752"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-f12c39982d30c780df104bbf6c833bca-90628c4f27fac178-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-f12c39982d30c780df104bbf6c833bca-90628c4f27fac178-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:41:23 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"15cafeb884b6ef26","trace_id":"81077c4d21b1eb4d623b08699792e28b","duration":68.12,"timestamp":1646055683681036,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-length":"123","content-type":"application/json","date":"Mon, 28 Feb 2022 13:41:23 GMT","referrer-policy":"same-origin","server":"gunicorn","vary":"Cookie","x-content-type-options":"nosniff","x-frame-options":"DENY","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"faa2f432c6538654","transaction_id":"15cafeb884b6ef26","parent_id":"15cafeb884b6ef26","trace_id":"81077c4d21b1eb4d623b08699792e28b","subtype":"http","action":"GET","timestamp":1646055683689833,"duration":55.59,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/types"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"967320a2c04bd48c","trace_id":"4134a5a1e562d00af6f25d1a70903c31","parent_id":"4593bfaf626f936e","duration":39.705,"timestamp":1646055683732037,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-4134a5a1e562d00af6f25d1a70903c31-4593bfaf626f936e-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-4134a5a1e562d00af6f25d1a70903c31-4593bfaf626f936e-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","date":"Mon, 28 Feb 2022 13:41:23 GMT","connection":"close","transfer-encoding":"chunked"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-go:3000","type":"external","id":"836b308445d1cc01","transaction_id":"967320a2c04bd48c","parent_id":"967320a2c04bd48c","trace_id":"4134a5a1e562d00af6f25d1a70903c31","subtype":"http","action":"GET","timestamp":1646055683740030,"duration":25.185,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-go:3000/api/orders"},"destination":{"service":{"name":"http://opbeans-go:3000","resource":"opbeans-go:3000","type":"external"},"address":"opbeans-go","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"208c26854c47c125","transaction_id":"faeaaa49a67078de","parent_id":"faeaaa49a67078de","trace_id":"8dbd2020a32bdbd2cfb34d2994511d37","subtype":"redis","action":null,"timestamp":1646055683809561,"duration":1.742,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"21976bc0f53df564","transaction_id":"faeaaa49a67078de","parent_id":"faeaaa49a67078de","trace_id":"8dbd2020a32bdbd2cfb34d2994511d37","subtype":"postgresql","action":"query","timestamp":1646055683812954,"duration":3.14,"context":{"db":{"statement":"SELECT p.id, p.sku, p.name, p.stock, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products","type":"request","result":"HTTP 2xx","id":"faeaaa49a67078de","trace_id":"8dbd2020a32bdbd2cfb34d2994511d37","parent_id":"652716a178a4207d","duration":16.77,"timestamp":1646055683805014,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-8dbd2020a32bdbd2cfb34d2994511d37-652716a178a4207d-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-8dbd2020a32bdbd2cfb34d2994511d37-652716a178a4207d-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"1023","etag":"W/\"3ff-VyOxcDApb+a/lnjkm9FeTOGSDrs\"","date":"Mon, 28 Feb 2022 13:41:23 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/customers/:id","type":"request","result":"HTTP 2xx","id":"812da7d5ab050d37","trace_id":"c1a2c05178f4987d9116954736ae0a36","parent_id":"959dad953c91b805","duration":43.762,"timestamp":1646055684142014,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/323","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/323","full":"http://opbeans-node:3000/api/customers/323"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-c1a2c05178f4987d9116954736ae0a36-959dad953c91b805-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-c1a2c05178f4987d9116954736ae0a36-959dad953c91b805-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"192","etag":"W/\"c0-JMvI//hr6zWmUSagdTC/4Hwp0LE\"","date":"Mon, 28 Feb 2022 13:41:24 GMT","connection":"close"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM customers","type":"db","id":"28e22519cf3aed55","transaction_id":"812da7d5ab050d37","parent_id":"812da7d5ab050d37","trace_id":"c1a2c05178f4987d9116954736ae0a36","subtype":"postgresql","action":"query","timestamp":1646055684161035,"duration":20.473,"context":{"db":{"statement":"SELECT * FROM customers WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"stacktrace":[{"filename":"node_modules/pg-pool/index.js","lineno":406,"function":"PendingItem.callback","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":298,"function":"_acquireClient","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":146,"function":"_pulseQueue","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"node_modules/pg-pool/index.js","lineno":179,"function":"","library_frame":true,"abs_path":"/app/node_modules/pg-pool/index.js"},{"filename":"internal/process/task_queues.js","lineno":77,"function":"processTicksAndRejections","library_frame":true,"abs_path":"internal/process/task_queues.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"79e742b50026335a","trace_id":"c1a2c05178f4987d9116954736ae0a36","parent_id":"c1e1e0be411e7b19","duration":118.003,"timestamp":1646055684106014,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/323","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/323","full":"http://opbeans-node:3000/api/customers/323"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-c1a2c05178f4987d9116954736ae0a36-c1e1e0be411e7b19-01","elastic-apm-traceparent":"00-c1a2c05178f4987d9116954736ae0a36-c1e1e0be411e7b19-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:24 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"54ee89f51dfa66d1","transaction_id":"79e742b50026335a","parent_id":"79e742b50026335a","trace_id":"c1a2c05178f4987d9116954736ae0a36","subtype":"http","action":"GET","timestamp":1646055684110689,"duration":107.647,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/customers/323"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET static file","type":"request","result":"HTTP 2xx","id":"131bd996e86bf0c7","trace_id":"207f1a4a909953fbd72371b676aabd22","duration":36.798,"timestamp":1646055684206015,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/favicon.ico","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/favicon.ico","full":"http://opbeans-node:3000/favicon.ico"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","accept-ranges":"bytes","cache-control":"public, max-age=0","last-modified":"Sat, 11 Dec 2021 17:17:01 GMT","etag":"W/\"3aee-17daa7f7ac8\"","content-type":"image/x-icon","content-length":"15086","date":"Mon, 28 Feb 2022 13:41:24 GMT","connection":"close"}}},"span_count":{"started":0},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"501bdeb611d40373","trace_id":"c1a2c05178f4987d9116954736ae0a36","parent_id":"51a608dc6f2de10b","duration":191.953,"timestamp":1646055684062026,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/323","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/323","full":"http://opbeans-node:3000/api/customers/323"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-c1a2c05178f4987d9116954736ae0a36-51a608dc6f2de10b-01","elastic-apm-traceparent":"00-c1a2c05178f4987d9116954736ae0a36-51a608dc6f2de10b-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:24 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"192","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"6e9b51c8f91ad282","transaction_id":"501bdeb611d40373","parent_id":"501bdeb611d40373","trace_id":"c1a2c05178f4987d9116954736ae0a36","subtype":"http","action":"GET","timestamp":1646055684073299,"duration":176.424,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers/323"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"f8e515dd0400945f","trace_id":"c1a2c05178f4987d9116954736ae0a36","parent_id":"8f86366448890461","duration":246.891,"timestamp":1646055684029015,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/323","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/323","full":"http://opbeans-node:3000/api/customers/323"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-c1a2c05178f4987d9116954736ae0a36-8f86366448890461-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-c1a2c05178f4987d9116954736ae0a36-8f86366448890461-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:24 GMT","connection":"close","content-type":"application/json; charset=utf-8","x-frame-options":"DENY","content-length":"192","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"fdb8579b3ab5dc63","transaction_id":"f8e515dd0400945f","parent_id":"f8e515dd0400945f","trace_id":"c1a2c05178f4987d9116954736ae0a36","subtype":"http","action":"GET","timestamp":1646055684036916,"duration":232.359,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers/323"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"3eba5ab4c6596cd2","trace_id":"e2b7a915c4917a0564461554b5cd993a","parent_id":"76711a3f0721f18f","duration":34.492,"timestamp":1646055684594020,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/types","full":"http://opbeans-node:3000/api/types"},"headers":{"host":"opbeans-node:3000","user-agent":"python-requests/2.27.1","accept-encoding":"gzip, deflate","accept":"*/*","connection":"keep-alive","traceparent":"00-e2b7a915c4917a0564461554b5cd993a-76711a3f0721f18f-01","elastic-apm-traceparent":"00-e2b7a915c4917a0564461554b5cd993a-76711a3f0721f18f-01","tracestate":"es=s:1.0"},"socket":{"remote_address":"::ffff:172.23.0.11"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:24 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"6fc52b52d4e507c6","transaction_id":"3eba5ab4c6596cd2","parent_id":"3eba5ab4c6596cd2","trace_id":"e2b7a915c4917a0564461554b5cd993a","subtype":"http","action":"GET","timestamp":1646055684598269,"duration":20.253,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/types"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"93908d14bffe2563","transaction_id":"47a01ab5d0a02ff7","parent_id":"47a01ab5d0a02ff7","trace_id":"740feb0fdb57f22d050794fdebf272e7","subtype":"redis","action":null,"timestamp":1646055684658891,"duration":1.825,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"27adb5a4806799c9","transaction_id":"47a01ab5d0a02ff7","parent_id":"47a01ab5d0a02ff7","trace_id":"740feb0fdb57f22d050794fdebf272e7","subtype":"postgresql","action":"query","timestamp":1646055684661940,"duration":9.885,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"47a01ab5d0a02ff7","trace_id":"740feb0fdb57f22d050794fdebf272e7","duration":20.989,"timestamp":1646055684655013,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:41:24 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"e2bbe68976eb3db3","transaction_id":"ad088b6d0b22ec2f","parent_id":"ad088b6d0b22ec2f","trace_id":"ae3b0612a0c4ec0a390df75d333af8e0","subtype":"postgresql","action":"query","timestamp":1646055684691907,"duration":2.636,"context":{"db":{"statement":"SELECT * FROM orders WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders/:id","type":"request","result":"HTTP 4xx","id":"ad088b6d0b22ec2f","trace_id":"ae3b0612a0c4ec0a390df75d333af8e0","parent_id":"06493b7fee37949d","duration":22.792,"timestamp":1646055684680013,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders/10","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders/10","full":"http://opbeans-node:3000/api/orders/10"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-ae3b0612a0c4ec0a390df75d333af8e0-06493b7fee37949d-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-ae3b0612a0c4ec0a390df75d333af8e0-06493b7fee37949d-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":404,"headers":{"x-powered-by":"Express","date":"Mon, 28 Feb 2022 13:41:24 GMT","connection":"close","content-length":"0"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"583a7c63680e1023","trace_id":"13c1aee7a5f897ad25a413ed5019cee1","parent_id":"6c104c7db2c19e1f","duration":69.915,"timestamp":1646055684742063,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/top","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products/top","full":"http://opbeans-node:3000/api/products/top"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-13c1aee7a5f897ad25a413ed5019cee1-6c104c7db2c19e1f-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-13c1aee7a5f897ad25a413ed5019cee1-6c104c7db2c19e1f-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:24 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"309","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"5c6a159e9c0827bc","transaction_id":"583a7c63680e1023","parent_id":"583a7c63680e1023","trace_id":"13c1aee7a5f897ad25a413ed5019cee1","subtype":"http","action":"GET","timestamp":1646055684749321,"duration":54.912,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/products/top"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"a1c208b3d50f7147","trace_id":"e7de800ee5cde2b8e0129082037a3026","duration":84.761,"timestamp":1646055685169244,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/customers/911","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/customers/911","full":"http://opbeans-node:3000/api/customers/911"},"headers":{"user-agent":"workload/2.4.3","host":"opbeans-node:3000","connection":"close"},"socket":{"remote_address":"::ffff:172.23.0.10"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","server":"gunicorn","date":"Mon, 28 Feb 2022 13:41:25 GMT","connection":"close","content-type":"application/json","x-frame-options":"DENY","content-length":"199","vary":"Cookie","x-content-type-options":"nosniff","referrer-policy":"same-origin"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-python:3000","type":"external","id":"d517bbbc7b46dcf1","transaction_id":"a1c208b3d50f7147","parent_id":"a1c208b3d50f7147","trace_id":"e7de800ee5cde2b8e0129082037a3026","subtype":"http","action":"GET","timestamp":1646055685173666,"duration":54.924,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-python:3000/api/customers/911"},"destination":{"service":{"name":"http://opbeans-python:3000","resource":"opbeans-python:3000","type":"external"},"address":"opbeans-python","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"GET","type":"cache","id":"48d69bff89ce8256","transaction_id":"4ec93507e62e6ca7","parent_id":"4ec93507e62e6ca7","trace_id":"300dc7af06bf51423695dee68f2b1a37","subtype":"redis","action":null,"timestamp":1646055685529616,"duration":1.933,"context":{"destination":{"service":{"name":"redis","resource":"redis","type":"cache"},"address":"redis","port":6379}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM orders","type":"db","id":"55d1fac903ad0fd1","transaction_id":"4ec93507e62e6ca7","parent_id":"4ec93507e62e6ca7","trace_id":"300dc7af06bf51423695dee68f2b1a37","subtype":"postgresql","action":"query","timestamp":1646055685533068,"duration":5.303,"context":{"db":{"statement":"SELECT o.*, c.full_name AS customer_name FROM orders o LEFT JOIN customers c ON c.id=o.customer_id LIMIT $1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/orders","type":"request","result":"HTTP 2xx","id":"4ec93507e62e6ca7","trace_id":"300dc7af06bf51423695dee68f2b1a37","parent_id":"db23f3aca983bcae","duration":18.529,"timestamp":1646055685524015,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/orders","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/orders","full":"http://opbeans-node:3000/api/orders"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-300dc7af06bf51423695dee68f2b1a37-db23f3aca983bcae-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-300dc7af06bf51423695dee68f2b1a37-db23f3aca983bcae-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"944","etag":"W/\"3b0-rWgARGLKLFmxUfMIqElPSHpCVrU\"","date":"Mon, 28 Feb 2022 13:41:25 GMT","connection":"close"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"54295c29c5c76672","transaction_id":"45cd193aef99aae8","parent_id":"45cd193aef99aae8","trace_id":"39f1e367bd9ed91c2af5f2d1a7e2ada7","subtype":"postgresql","action":"query","timestamp":1646055685622868,"duration":5.894,"context":{"db":{"statement":"SELECT p.*, t.name AS type_name FROM products p LEFT JOIN product_types t ON p.type_id=t.id WHERE p.id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/products/:id","type":"request","result":"HTTP 2xx","id":"45cd193aef99aae8","trace_id":"39f1e367bd9ed91c2af5f2d1a7e2ada7","parent_id":"6e8c8b131afcbeec","duration":20.783,"timestamp":1646055685615073,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products/1","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/products/1","full":"http://opbeans-go:3000/api/products/1"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-39f1e367bd9ed91c2af5f2d1a7e2ada7-6e8c8b131afcbeec-01","traceparent":"00-39f1e367bd9ed91c2af5f2d1a7e2ada7-6e8c8b131afcbeec-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"231","etag":"W/\"e7-6JlJegaJ+ir0C8I8EmmOjms1dnc\"","date":"Mon, 28 Feb 2022 13:41:25 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api","type":"request","result":"HTTP 2xx","id":"03a1e350d0c036f9","trace_id":"58ee154e841b75e23c669ab7bb6a5747","parent_id":"cf09b00220606b8c","duration":75.214,"timestamp":1646055685593014,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/products","protocol":"http:","hostname":"opbeans-node","port":"3000","pathname":"/api/products","full":"http://opbeans-node:3000/api/products"},"headers":{"connection":"close","host":"opbeans-node:3000","user-agent":"http.rb/5.0.4","traceparent":"00-58ee154e841b75e23c669ab7bb6a5747-cf09b00220606b8c-01","tracestate":"es=s:1.0","elastic-apm-traceparent":"00-58ee154e841b75e23c669ab7bb6a5747-cf09b00220606b8c-01"},"socket":{"remote_address":"::ffff:172.23.0.12"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","content-type":"application/json; charset=utf-8","etag":"W/\"e7a2362bf423f315691b319c14409fa6\"","cache-control":"max-age=0, private, must-revalidate","x-request-id":"b1746325-8b37-4675-be30-567851bd4ee5","x-runtime":"0.029842","connection":"close","transfer-encoding":"chunked","date":"Mon, 28 Feb 2022 13:41:25 GMT"}}},"span_count":{"started":1},"outcome":"success","sample_rate":1}} +{"span":{"name":"GET opbeans-ruby:3000","type":"external","id":"df6c7553f6b00b64","transaction_id":"03a1e350d0c036f9","parent_id":"03a1e350d0c036f9","trace_id":"58ee154e841b75e23c669ab7bb6a5747","subtype":"http","action":"GET","timestamp":1646055685602687,"duration":61.242,"context":{"http":{"method":"GET","status_code":200,"url":"http://opbeans-ruby:3000/api/products"},"destination":{"service":{"name":"http://opbeans-ruby:3000","resource":"opbeans-ruby:3000","type":"external"},"address":"opbeans-ruby","port":3000}},"stacktrace":[{"filename":"server.js","lineno":101,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" req.log.debug('proxying request: %s => %s:%s', req.originalUrl, opts.hostname, opts.port + opts.path)",""],"context_line":" const clientReq = http.request(opts)","post_context":[""," clientReq.on('response', clientRes => {"]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":641,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":260,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":174,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":47,"function":"router","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"server.js","lineno":80,"function":"","library_frame":false,"abs_path":"/app/server.js","pre_context":[" })",""],"context_line":" next()","post_context":["})",""]},{"filename":"node_modules/express/lib/router/layer.js","lineno":95,"function":"handle","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/layer.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":323,"function":"trim_prefix","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":284,"function":"","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":341,"function":"process_params","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/express/lib/router/index.js","lineno":275,"function":"next","library_frame":true,"abs_path":"/app/node_modules/express/lib/router/index.js"},{"filename":"node_modules/serve-static/index.js","lineno":121,"function":"error","library_frame":true,"abs_path":"/app/node_modules/serve-static/index.js"},{"filename":"events.js","lineno":400,"function":"emit","library_frame":true,"abs_path":"events.js"},{"filename":"node_modules/send/index.js","lineno":270,"function":"error","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":421,"function":"onStatError","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":735,"function":"next","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"node_modules/send/index.js","lineno":724,"function":"onstat","library_frame":true,"abs_path":"/app/node_modules/send/index.js"},{"filename":"fs.js","lineno":191,"function":"FSReqCallback.oncomplete","library_frame":true,"abs_path":"fs.js"},{"filename":"internal/async_hooks.js","lineno":130,"function":"callbackTrampoline","library_frame":true,"abs_path":"internal/async_hooks.js"}],"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM product_types","type":"db","id":"3bd125bb9e3350a1","transaction_id":"32d47144df5b102a","parent_id":"32d47144df5b102a","trace_id":"4e7f19d375e7c9687c27f3c1138aab10","subtype":"postgresql","action":"query","timestamp":1646055685675892,"duration":5.061,"context":{"db":{"statement":"SELECT * FROM product_types WHERE id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"span":{"name":"SELECT FROM products","type":"db","id":"9d8662640dda382f","transaction_id":"32d47144df5b102a","parent_id":"32d47144df5b102a","trace_id":"4e7f19d375e7c9687c27f3c1138aab10","subtype":"postgresql","action":"query","timestamp":1646055685682216,"duration":3.864,"context":{"db":{"statement":"SELECT id, name FROM products WHERE type_id=$1","type":"sql"},"destination":{"service":{"name":"postgresql","resource":"postgresql","type":"db"},"address":"postgres","port":5432}},"sync":false,"outcome":"success","sample_rate":1}} +{"transaction":{"name":"GET /api/types/:id","type":"request","result":"HTTP 2xx","id":"32d47144df5b102a","trace_id":"4e7f19d375e7c9687c27f3c1138aab10","parent_id":"caf87fa9fc8cc7f9","duration":34.991,"timestamp":1646055685654014,"sampled":true,"context":{"user":{"id":42,"username":"kimchy","email":"kimchy@elastic.co"},"tags":{"foo":"bar","lorem":"ipsum dolor sit amet, consectetur adipiscing elit. Nulla finibus, ipsum id scelerisque consequat, enim leo vulputate massa, vel ultricies ante neque ac risus. Curabitur tincidunt vitae sapien id pulvinar. Mauris eu vestibulum tortor. Integer sit amet lorem fringilla, egestas tellus vitae, vulputate purus. Nulla feugiat blandit nunc et semper. Morbi purus libero, mattis sed mauris non, euismod iaculis lacus. Curabitur eleifend ante eros, non faucibus velit lacinia id. Duis posuere libero augue, at dignissim urna consectetur eget. Praesent eu congue est, iaculis finibus augue.","this-is-a-very-long-tag-name-without-any-spaces":"test","multi-line":"foo\nbar\nbaz"},"custom":{"shoppingBasketCount":42},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/api/types/3","protocol":"http:","hostname":"opbeans-go","port":"3000","pathname":"/api/types/3","full":"http://opbeans-go:3000/api/types/3"},"headers":{"host":"opbeans-go:3000","user-agent":"Python/3.7 aiohttp/3.3.2","accept":"*/*","accept-encoding":"gzip, deflate","elastic-apm-traceparent":"00-4e7f19d375e7c9687c27f3c1138aab10-caf87fa9fc8cc7f9-01","traceparent":"00-4e7f19d375e7c9687c27f3c1138aab10-caf87fa9fc8cc7f9-01","tracestate":"es=s:1","x-forwarded-for":"172.23.0.14"},"socket":{"remote_address":"::ffff:172.23.0.9"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"189","etag":"W/\"bd-0uDu9PtTLClFU3E2SJb37cpSxP4\"","date":"Mon, 28 Feb 2022 13:41:25 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":2},"outcome":"success","sample_rate":1}} diff --git a/systemtest/cmd/apmbench/events/apm-python-traces-6.7.2.ndjson b/systemtest/cmd/apmbench/events/apm-python-traces-6.7.2.ndjson new file mode 100644 index 00000000000..2d437b40171 --- /dev/null +++ b/systemtest/cmd/apmbench/events/apm-python-traces-6.7.2.ndjson @@ -0,0 +1,4832 @@ +{"metadata": {"service": {"name": "opbeans-python", "environment": "production", "version": "None", "agent": {"name": "python", "version": "6.7.2"}, "language": {"name": "python", "version": "3.10.2"}, "runtime": {"name": "CPython", "version": "3.10.2"}, "framework": {"name": "django", "version": "3.2.11"}}, "process": {"pid": 35, "ppid": 1, "argv": ["manage.py", "migrate"], "title": null}, "system": {"hostname": "88abe6e3ded4", "architecture": "x86_64", "platform": "linux"}}} +{"span": {"id": "b96efb7590766c67", "transaction_id": "27a8935936938522", "trace_id": "525282df3064f4e30754248caa7e512d", "parent_id": "27a8935936938522", "name": "hard-home-work", "type": "code", "subtype": "custom", "action": null, "timestamp": 1646055450293955, "duration": 128.25604202225804, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 308, "library_frame": false, "pre_context": ["", "def home(request):"], "context_line": " with elasticapm.capture_span(\"hard-home-work\"):", "post_context": [" time.sleep(random.random() / 2.0)", " return render(request, \"index.html\")"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "8d63d0728a0a88d0", "transaction_id": "27a8935936938522", "trace_id": "525282df3064f4e30754248caa7e512d", "parent_id": "27a8935936938522", "name": "index.html", "type": "template", "subtype": "django", "action": "render", "timestamp": 1646055450623459, "duration": 99.93279198533855, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/backends/django.py", "filename": "django/template/backends/django.py", "module": "django.template.backends.django", "function": "render", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/loader.py", "filename": "django/template/loader.py", "module": "django.template.loader", "function": "render_to_string", "lineno": 62, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/shortcuts.py", "filename": "django/shortcuts.py", "module": "django.shortcuts", "function": "render", "lineno": 19, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 310, "library_frame": false, "pre_context": [" with elasticapm.capture_span(\"hard-home-work\"):", " time.sleep(random.random() / 2.0)"], "context_line": " return render(request, \"index.html\")", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "27a8935936938522", "trace_id": "525282df3064f4e30754248caa7e512d", "name": "GET opbeans.views.home", "type": "request", "duration": 1343.2700420089532, "result": "HTTP 2xx", "timestamp": 1646055449420578, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "000c26044c9b0607", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.11", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.11"}, "cookies": {}, "headers": {"host": "opbeans-python:3000", "user-agent": "curl/7.74.0", "accept": "*/*"}, "url": {"full": "http://opbeans-python:3000/", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "text/html; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "871", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 4, "username": "ooneal", "email": "ooneal@barnett.com"}, "tags": {"request_id": "b3768225-a7e3-4568-83a6-fe7ad0a6d051", "customer_tier": "$"}}}} +{"span": {"id": "623013bbe5cd5c92", "transaction_id": "865ade12f5d3129b", "trace_id": "ee8d9ad179319220cf639b1d5aff5996", "parent_id": "865ade12f5d3129b", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055455324550, "duration": 5.130832985742018, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" WHERE \"opbeans_order\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/shortcuts.py", "filename": "django/shortcuts.py", "module": "django.shortcuts", "function": "get_object_or_404", "lineno": 76, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "order", "lineno": 272, "library_frame": false, "pre_context": ["", "def order(request, pk):"], "context_line": " order_obj = get_object_or_404(m.Order, pk=pk)", "post_context": [" lines = list(order_obj.orderline_set.values(", " 'product_id', 'amount', 'product__sku', 'product__name', 'product__description', 'product__product_type_id',"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "ab970ec65cb80c37", "transaction_id": "865ade12f5d3129b", "trace_id": "ee8d9ad179319220cf639b1d5aff5996", "parent_id": "865ade12f5d3129b", "name": "SELECT FROM opbeans_orderline", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055455347935, "duration": 8.842874987749383, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_orderline\".\"product_id\", \"opbeans_orderline\".\"amount\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_orderline\" INNER JOIN \"opbeans_product\" ON (\"opbeans_orderline\".\"product_id\" = \"opbeans_product\".\"id\") WHERE \"opbeans_orderline\".\"order_id\" = %s"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "results_iter", "lineno": 1130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "order", "lineno": 273, "library_frame": false, "pre_context": ["def order(request, pk):", " order_obj = get_object_or_404(m.Order, pk=pk)"], "context_line": " lines = list(order_obj.orderline_set.values(", "post_context": [" 'product_id', 'amount', 'product__sku', 'product__name', 'product__description', 'product__product_type_id',", " 'product__stock', 'product__cost', 'product__selling_price',"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "865ade12f5d3129b", "trace_id": "ee8d9ad179319220cf639b1d5aff5996", "name": "GET opbeans.views.order", "type": "request", "duration": 82.0534999947995, "result": "HTTP 2xx", "timestamp": 1646055455300089, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "1029043b1eb36a15", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.10", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.10"}, "cookies": {}, "headers": {"traceparent": "00-ee8d9ad179319220cf639b1d5aff5996-1029043b1eb36a15-01", "tracestate": "es=s:1", "elastic-apm-traceparent": "00-ee8d9ad179319220cf639b1d5aff5996-1029043b1eb36a15-01", "host": "opbeans-python:3000", "connection": "close"}, "url": {"full": "http://opbeans-python:3000/api/orders/452", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/orders/452", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "336", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 11, "username": "crystal68", "email": "crystal68@gonzales-horn.info"}, "tags": {"request_id": "8c0239d7-a0e7-419f-ac0d-8033ec907fd5", "customer_tier": "$$"}}}} +{"span": {"id": "9dd768cde359ab9a", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "b375fd14ec377d5f", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453427936, "duration": 5.543959006899968, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" LIMIT 1000"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 199, "library_frame": false, "pre_context": [" elasticapm.set_transaction_name('POST opbeans.views.post_order')", " return post_order(request)"], "context_line": " order_list = list(m.Order.objects.all()[:1000])", "post_context": [" with elasticapm.capture_span(\"iterate_orders\"):", " orders = ["]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "388a132bd8a196d0", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453548572, "duration": 2.474000008078292, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "870b3dae093cf119", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453555385, "duration": 2.6343749777879566, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "965d4d2f37726cf4", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453565861, "duration": 4.047124995850027, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "09e739f04248b56f", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453579124, "duration": 5.37712499499321, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "bddde116d10e0818", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453590535, "duration": 4.013917001429945, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "8407ff380b19b487", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453600696, "duration": 1.5292500029318035, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "af43e682480203a4", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453606455, "duration": 1.9536250038072467, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "4ad45332738a58f3", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453616667, "duration": 1.693166996119544, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "b43cf5d8c4ffd927", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453622540, "duration": 2.2716659877914935, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "48aaef3ef2c3bbcf", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453629247, "duration": 2.0187500049360096, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "87002122298915a3", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453635310, "duration": 3.4866249770857394, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "34cbd43226f8b870", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453643332, "duration": 2.1494590037036687, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "a3944db64c3048fc", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453650071, "duration": 2.1823340211994946, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "5bd1b3d78a7e25bc", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453656525, "duration": 2.5912499986588955, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "992f01cb70c55dc4", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453663539, "duration": 1.9497500034049153, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "4218be4e3daaebca", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453670400, "duration": 1.9324999884702265, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "f9210143e1dae233", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453676078, "duration": 1.7318750033155084, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "b3954aa72f70d02d", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453681576, "duration": 1.9346660119481385, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "cb0b6b395e416fb0", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453687441, "duration": 1.775417011231184, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "99509fe54290b2c6", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453693486, "duration": 1.8114999984391034, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "eb7afdd5c7597423", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453699424, "duration": 1.7965000006370246, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "e331fc08bd480e1b", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453705590, "duration": 1.9826669886242598, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "eb52188a59ea14b9", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453711535, "duration": 2.7789580053649843, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "ef1f12de4e15bba7", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453718682, "duration": 2.0060839888174087, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "9b4f6b6c7c85cdb3", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453725339, "duration": 2.0805830135941505, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "2281def7119752fa", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453731277, "duration": 1.4375419996213168, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "b0721556e5b4251e", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453737868, "duration": 2.75295801111497, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "c81f7a0683431a87", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453750062, "duration": 2.1040829888079315, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "dfa9ad55f3a770fc", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453764687, "duration": 1.853915979154408, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "d1df140e09dfb27f", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453781164, "duration": 2.6106250006705523, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "bdc9fab704c30c61", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453792686, "duration": 2.6616670074872673, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "00f665a308b26d48", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453800923, "duration": 3.7204580148682, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "179b1a854726e010", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453816675, "duration": 3.5458749916870147, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "584acc6537db5b80", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453830744, "duration": 4.336666985182092, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "d2a430e70734a8c8", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453850776, "duration": 1.2709999864455312, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "fb20efe4a05b586b", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453859625, "duration": 3.6408749874681234, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "c4d3f3667f5420ac", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453872675, "duration": 1.3344580074772239, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "dca03ae6c6c97cef", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453878250, "duration": 1.6245419974438846, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "e82bb5f14e302368", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453883678, "duration": 1.403707981808111, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "8caa1ac55647afbb", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453888450, "duration": 1.4494580100290477, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "6183d3e459fefdf7", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453893246, "duration": 1.1845409753732383, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "276995bfa83c14b2", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453897402, "duration": 1.3819580199196935, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "65bc66213ccb7c51", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453902037, "duration": 1.3132500171195716, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "09efc446717ba71c", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453906932, "duration": 1.682458008872345, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "d1e4537d9dbf803b", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453912003, "duration": 1.2997919984627515, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "d7bf1f57a9e44cc8", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453916642, "duration": 1.4392920129466802, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "5f18256218a0bbb4", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453921273, "duration": 1.4437499921768904, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "9c186f81c5b300bc", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "eb52573eba30d073", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055453926205, "duration": 1.1994589876849204, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "24bdd72f2cf97920", "transaction_id": "6cee97b02e6dd140", "trace_id": "80dd846b34c930d3f139ea60a988b522", "parent_id": "6cee97b02e6dd140", "name": "psycopg2.connect postgres:5432", "type": "db", "subtype": "postgresql", "action": "connect", "timestamp": 1646055457222417, "duration": 14.815333008300513, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/postgresql/base.py", "filename": "django/db/backends/postgresql/base.py", "module": "django.db.backends.postgresql.base", "function": "get_new_connection", "lineno": 187, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/asyncio.py", "filename": "django/utils/asyncio.py", "module": "django.utils.asyncio", "function": "inner", "lineno": 33, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", "filename": "django/db/backends/base/base.py", "module": "django.db.backends.base.base", "function": "connect", "lineno": 200, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/asyncio.py", "filename": "django/utils/asyncio.py", "module": "django.utils.asyncio", "function": "inner", "lineno": 33, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", "filename": "django/db/backends/base/base.py", "module": "django.db.backends.base.base", "function": "ensure_connection", "lineno": 219, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/asyncio.py", "filename": "django/utils/asyncio.py", "module": "django.utils.asyncio", "function": "inner", "lineno": 33, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", "filename": "django/db/backends/base/base.py", "module": "django.db.backends.base.base", "function": "_cursor", "lineno": 235, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", "filename": "django/db/backends/base/base.py", "module": "django.db.backends.base.base", "function": "cursor", "lineno": 259, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/asyncio.py", "filename": "django/utils/asyncio.py", "module": "django.utils.asyncio", "function": "inner", "lineno": 33, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1173, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "aggregate", "lineno": 399, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 9, "library_frame": false, "pre_context": ["", "def stats():"], "context_line": " numbers = m.Product.objects.annotate(", "post_context": [" order_count=models.Count('order'),", " per_item_profit=models.F('selling_price') - models.F('cost')"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "c8746c0bb1af2d3f", "transaction_id": "6cee97b02e6dd140", "trace_id": "80dd846b34c930d3f139ea60a988b522", "parent_id": "6cee97b02e6dd140", "name": "SET", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055457266236, "duration": 1.826499996241182, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SET TIME ZONE %s"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "c95ee51a260e637c", "transaction_id": "6cee97b02e6dd140", "trace_id": "80dd846b34c930d3f139ea60a988b522", "parent_id": "6cee97b02e6dd140", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055457271161, "duration": 61.645125009818, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT SUM(\"total_revenue\"), SUM(\"total_cost\"), SUM(\"total_profit\") FROM (SELECT COUNT(\"opbeans_orderline\".\"order_id\") AS \"order_count\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\") AS \"per_item_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) AS \"total_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"selling_price\") AS \"total_revenue\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"cost\") AS \"total_cost\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) subquery"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "aggregate", "lineno": 399, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 9, "library_frame": false, "pre_context": ["", "def stats():"], "context_line": " numbers = m.Product.objects.annotate(", "post_context": [" order_count=models.Count('order'),", " per_item_profit=models.F('selling_price') - models.F('cost')"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "53d7872d33f2b8be", "transaction_id": "6cee97b02e6dd140", "trace_id": "80dd846b34c930d3f139ea60a988b522", "parent_id": "6cee97b02e6dd140", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055457339483, "duration": 1.130749995354563, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_product\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "824bae613a85270b", "transaction_id": "6cee97b02e6dd140", "trace_id": "80dd846b34c930d3f139ea60a988b522", "parent_id": "6cee97b02e6dd140", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055457342931, "duration": 1.15608298801817, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "13aa350b08de6d29", "transaction_id": "6cee97b02e6dd140", "trace_id": "80dd846b34c930d3f139ea60a988b522", "parent_id": "6cee97b02e6dd140", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055457346232, "duration": 48.90525000519119, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_order\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 24, "library_frame": false, "pre_context": [" 'products': m.Product.objects.count(),", " 'customers': m.Customer.objects.count(),"], "context_line": " 'orders': m.Order.objects.count(),", "post_context": [" 'numbers': numbers", " }"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "c364b16e34dbad26", "transaction_id": "6cee97b02e6dd140", "trace_id": "80dd846b34c930d3f139ea60a988b522", "parent_id": "6cee97b02e6dd140", "name": "SET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055457403313, "duration": 7.230916002299637, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/redis/commands/core.py", "filename": "redis/commands/core.py", "module": "redis.commands.core", "function": "set", "lineno": 1673, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django_redis/client/default.py", "filename": "django_redis/client/default.py", "module": "django_redis.client.default", "function": "set", "lineno": 175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django_redis/cache.py", "filename": "django_redis/cache.py", "module": "django_redis.cache", "function": "set", "lineno": 80, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django_redis/cache.py", "filename": "django_redis/cache.py", "module": "django_redis.cache", "function": "_decorator", "lineno": 31, "library_frame": true}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "e969c4790dae9b53", "transaction_id": "6cee97b02e6dd140", "trace_id": "80dd846b34c930d3f139ea60a988b522", "parent_id": "6cee97b02e6dd140", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055457497071, "duration": 4.885458998614922, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "0e092bf51c0cdcb7", "transaction_id": "6cee97b02e6dd140", "trace_id": "80dd846b34c930d3f139ea60a988b522", "parent_id": "6cee97b02e6dd140", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055457505380, "duration": 29.47870799107477, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "_set", "lineno": 401, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/kombu/utils/functional.py", "filename": "kombu/utils/functional.py", "module": "kombu.utils.functional", "function": "retry_over_time", "lineno": 312, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "ensure", "lineno": 376, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "set", "lineno": 392, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "_set_with_state", "lineno": 839, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "_store_result", "lineno": 962, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "store_result", "lineno": 528, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "mark_as_done", "lineno": 162, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 518, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"transaction": {"id": "6cee97b02e6dd140", "trace_id": "80dd846b34c930d3f139ea60a988b522", "name": "opbeans.tasks.update_stats", "type": "celery", "duration": 368.1340829934925, "result": "SUCCESS", "timestamp": 1646055457206196, "outcome": "success", "sampled": true, "span_count": {"started": 9, "dropped": 0}, "sample_rate": 1.0, "context": {"custom": {"a": "x", "b": "y"}, "tags": {"a": "x", "b": "y"}}}} +{"span": {"id": "aaa4533a8e79a96d", "transaction_id": "1eaf927b42b7a8e9", "trace_id": "a1f20878af29ab71e74ec1cb457280a0", "parent_id": "1eaf927b42b7a8e9", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055462231859, "duration": 31.775500014191493, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT SUM(\"total_revenue\"), SUM(\"total_cost\"), SUM(\"total_profit\") FROM (SELECT COUNT(\"opbeans_orderline\".\"order_id\") AS \"order_count\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\") AS \"per_item_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) AS \"total_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"selling_price\") AS \"total_revenue\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"cost\") AS \"total_cost\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) subquery"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "aggregate", "lineno": 399, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 9, "library_frame": false, "pre_context": ["", "def stats():"], "context_line": " numbers = m.Product.objects.annotate(", "post_context": [" order_count=models.Count('order'),", " per_item_profit=models.F('selling_price') - models.F('cost')"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "858cd3c9d7bee35b", "transaction_id": "1eaf927b42b7a8e9", "trace_id": "a1f20878af29ab71e74ec1cb457280a0", "parent_id": "1eaf927b42b7a8e9", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055462270805, "duration": 4.719415999716148, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_product\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "4b7f1cce28e7932d", "transaction_id": "1eaf927b42b7a8e9", "trace_id": "a1f20878af29ab71e74ec1cb457280a0", "parent_id": "1eaf927b42b7a8e9", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055462278967, "duration": 8.446459018159658, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 23, "library_frame": false, "pre_context": [" data = {", " 'products': m.Product.objects.count(),"], "context_line": " 'customers': m.Customer.objects.count(),", "post_context": [" 'orders': m.Order.objects.count(),", " 'numbers': numbers"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "5b1982d09cd8e6a8", "transaction_id": "1eaf927b42b7a8e9", "trace_id": "a1f20878af29ab71e74ec1cb457280a0", "parent_id": "1eaf927b42b7a8e9", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055462292525, "duration": 12.433666997822002, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_order\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 24, "library_frame": false, "pre_context": [" 'products': m.Product.objects.count(),", " 'customers': m.Customer.objects.count(),"], "context_line": " 'orders': m.Order.objects.count(),", "post_context": [" 'numbers': numbers", " }"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "3b92d0b33b6e3383", "transaction_id": "1eaf927b42b7a8e9", "trace_id": "a1f20878af29ab71e74ec1cb457280a0", "parent_id": "1eaf927b42b7a8e9", "name": "SET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055462307490, "duration": 3.5968750016763806, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "3a0375ad3eccc755", "transaction_id": "1eaf927b42b7a8e9", "trace_id": "a1f20878af29ab71e74ec1cb457280a0", "parent_id": "1eaf927b42b7a8e9", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055462313111, "duration": 4.021209024358541, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "9ef3a16811d6b68d", "transaction_id": "1eaf927b42b7a8e9", "trace_id": "a1f20878af29ab71e74ec1cb457280a0", "parent_id": "1eaf927b42b7a8e9", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055462321434, "duration": 3.854042006423697, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"transaction": {"id": "1eaf927b42b7a8e9", "trace_id": "a1f20878af29ab71e74ec1cb457280a0", "name": "opbeans.tasks.update_stats", "type": "celery", "duration": 140.9598340105731, "result": "SUCCESS", "timestamp": 1646055462187478, "outcome": "success", "sampled": true, "span_count": {"started": 7, "dropped": 0}, "sample_rate": 1.0, "context": {"custom": {"a": "x", "b": "y"}, "tags": {"a": "x", "b": "y"}}}} +{"span": {"id": "203128b5b6476b72", "transaction_id": "5dace774b310e7d3", "trace_id": "f669909c94c6326c05bed59ff6ab6571", "parent_id": "5dace774b310e7d3", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055467221213, "duration": 102.28445901884697, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT SUM(\"total_revenue\"), SUM(\"total_cost\"), SUM(\"total_profit\") FROM (SELECT COUNT(\"opbeans_orderline\".\"order_id\") AS \"order_count\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\") AS \"per_item_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) AS \"total_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"selling_price\") AS \"total_revenue\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"cost\") AS \"total_cost\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) subquery"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "aggregate", "lineno": 399, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 9, "library_frame": false, "pre_context": ["", "def stats():"], "context_line": " numbers = m.Product.objects.annotate(", "post_context": [" order_count=models.Count('order'),", " per_item_profit=models.F('selling_price') - models.F('cost')"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "070de3d4686cbc30", "transaction_id": "5dace774b310e7d3", "trace_id": "f669909c94c6326c05bed59ff6ab6571", "parent_id": "5dace774b310e7d3", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055467378430, "duration": 11.435374995926395, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_product\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 22, "library_frame": false, "pre_context": [" )", " data = {"], "context_line": " 'products': m.Product.objects.count(),", "post_context": [" 'customers': m.Customer.objects.count(),", " 'orders': m.Order.objects.count(),"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "6f28ef7c71d92404", "transaction_id": "5dace774b310e7d3", "trace_id": "f669909c94c6326c05bed59ff6ab6571", "parent_id": "5dace774b310e7d3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055467412103, "duration": 1.8972079851664603, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "aa114d90bfb959a7", "transaction_id": "5dace774b310e7d3", "trace_id": "f669909c94c6326c05bed59ff6ab6571", "parent_id": "5dace774b310e7d3", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055467416439, "duration": 8.962457999587059, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_order\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 24, "library_frame": false, "pre_context": [" 'products': m.Product.objects.count(),", " 'customers': m.Customer.objects.count(),"], "context_line": " 'orders': m.Order.objects.count(),", "post_context": [" 'numbers': numbers", " }"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "fb6f3d5e009a6511", "transaction_id": "5dace774b310e7d3", "trace_id": "f669909c94c6326c05bed59ff6ab6571", "parent_id": "5dace774b310e7d3", "name": "SET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055467430534, "duration": 7.4049580143764615, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/redis/commands/core.py", "filename": "redis/commands/core.py", "module": "redis.commands.core", "function": "set", "lineno": 1673, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django_redis/client/default.py", "filename": "django_redis/client/default.py", "module": "django_redis.client.default", "function": "set", "lineno": 175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django_redis/cache.py", "filename": "django_redis/cache.py", "module": "django_redis.cache", "function": "set", "lineno": 80, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django_redis/cache.py", "filename": "django_redis/cache.py", "module": "django_redis.cache", "function": "_decorator", "lineno": 31, "library_frame": true}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "5ae9976a85a45d6e", "transaction_id": "5dace774b310e7d3", "trace_id": "f669909c94c6326c05bed59ff6ab6571", "parent_id": "5dace774b310e7d3", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055467443475, "duration": 4.112082999199629, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "85a0c7e7c5e59f01", "transaction_id": "5dace774b310e7d3", "trace_id": "f669909c94c6326c05bed59ff6ab6571", "parent_id": "5dace774b310e7d3", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055467449274, "duration": 6.786500016460195, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "_set", "lineno": 401, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/kombu/utils/functional.py", "filename": "kombu/utils/functional.py", "module": "kombu.utils.functional", "function": "retry_over_time", "lineno": 312, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "ensure", "lineno": 376, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "set", "lineno": 392, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "_set_with_state", "lineno": 839, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "_store_result", "lineno": 962, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "store_result", "lineno": 528, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "mark_as_done", "lineno": 162, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 518, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"transaction": {"id": "5dace774b310e7d3", "trace_id": "f669909c94c6326c05bed59ff6ab6571", "name": "opbeans.tasks.update_stats", "type": "celery", "duration": 288.51545898942277, "result": "SUCCESS", "timestamp": 1646055467173859, "outcome": "success", "sampled": true, "span_count": {"started": 7, "dropped": 0}, "sample_rate": 1.0, "context": {"custom": {"a": "x", "b": "y"}, "tags": {"a": "x", "b": "y"}}}} +{"span": {"id": "eb52573eba30d073", "transaction_id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "parent_id": "b375fd14ec377d5f", "name": "iterate_orders", "type": "code", "subtype": "custom", "action": null, "timestamp": 1646055453540715, "duration": 5131.1914199905, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 200, "library_frame": false, "pre_context": [" return post_order(request)", " order_list = list(m.Order.objects.all()[:1000])"], "context_line": " with elasticapm.capture_span(\"iterate_orders\"):", "post_context": [" orders = [", " {\"id\": order.id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "b375fd14ec377d5f", "trace_id": "939cf5cf0f02477face9fe243f8e1250", "name": "GET opbeans.views.orders", "type": "request", "duration": 5411.996294977143, "result": "HTTP 2xx", "timestamp": 1646055453311587, "outcome": "success", "sampled": true, "span_count": {"started": 50, "dropped": 952}, "dropped_spans_stats": [{"destination_service_resource": "postgresql", "outcome": "success", "duration": {"count": 952, "sum": {"us": 833238}}}], "sample_rate": 1.0, "parent_id": "d026dc7ec2576951", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "localhost:3000", "user-agent": "Go-http-client/1.1", "accept-encoding": "gzip", "elastic-apm-traceparent": "00-939cf5cf0f02477face9fe243f8e1250-d026dc7ec2576951-01", "traceparent": "00-939cf5cf0f02477face9fe243f8e1250-d026dc7ec2576951-01", "tracestate": "es=s:1", "x-forwarded-for": "127.0.0.1"}, "url": {"full": "http://localhost:3000/api/orders", "protocol": "http:", "hostname": "localhost", "pathname": "/api/orders", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "108580", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 7, "username": "aliciarichardson", "email": "aliciarichardson@carter-moore.com"}, "tags": {"request_id": "3b2ebd98-da13-4131-a83f-c952fe626a56", "customer_tier": "$"}}}} +{"span": {"id": "cdca4652294bf961", "transaction_id": "379c8f69aee12284", "trace_id": "b584790684d4266de03c50ac6965252e", "parent_id": "379c8f69aee12284", "name": "hard-home-work", "type": "code", "subtype": "custom", "action": null, "timestamp": 1646055459509966, "duration": 93.57966700918041, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 308, "library_frame": false, "pre_context": ["", "def home(request):"], "context_line": " with elasticapm.capture_span(\"hard-home-work\"):", "post_context": [" time.sleep(random.random() / 2.0)", " return render(request, \"index.html\")"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "414aeb9d77128e28", "transaction_id": "379c8f69aee12284", "trace_id": "b584790684d4266de03c50ac6965252e", "parent_id": "379c8f69aee12284", "name": "index.html", "type": "template", "subtype": "django", "action": "render", "timestamp": 1646055459731604, "duration": 10.794000001624227, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/backends/django.py", "filename": "django/template/backends/django.py", "module": "django.template.backends.django", "function": "render", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/loader.py", "filename": "django/template/loader.py", "module": "django.template.loader", "function": "render_to_string", "lineno": 62, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/shortcuts.py", "filename": "django/shortcuts.py", "module": "django.shortcuts", "function": "render", "lineno": 19, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 310, "library_frame": false, "pre_context": [" with elasticapm.capture_span(\"hard-home-work\"):", " time.sleep(random.random() / 2.0)"], "context_line": " return render(request, \"index.html\")", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "379c8f69aee12284", "trace_id": "b584790684d4266de03c50ac6965252e", "name": "GET opbeans.views.home", "type": "request", "duration": 253.48854198819026, "result": "HTTP 2xx", "timestamp": 1646055459497419, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "094d9e858b7efac3", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.11", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.11"}, "cookies": {}, "headers": {"host": "opbeans-python:3000", "user-agent": "curl/7.74.0", "accept": "*/*"}, "url": {"full": "http://opbeans-python:3000/", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "text/html; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "871", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 15, "username": "jeremy19", "email": "jeremy19@perry-west.com"}, "tags": {"request_id": "d2c7a864-3e23-4811-a943-6fbcaae28468", "customer_tier": "$"}}}} +{"span": {"id": "0ea5716b93d8924c", "transaction_id": "1d23857f28409bc9", "trace_id": "a7b2625a3c72902f925d822c9a0dfbee", "parent_id": "1d23857f28409bc9", "name": "GET opbeans-node:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055475201382, "duration": 212.27920899400488, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-node:3000/api/products/top", "status_code": 200}, "destination": {"service": {"resource": "opbeans-node:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "1d23857f28409bc9", "trace_id": "a7b2625a3c72902f925d822c9a0dfbee", "name": "GET opbeans.views.top_products", "type": "request", "duration": 531.9036249711644, "result": "HTTP 2xx", "timestamp": 1646055474955994, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "2fde35e6f50ac108", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.10", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.10"}, "cookies": {}, "headers": {"traceparent": "00-a7b2625a3c72902f925d822c9a0dfbee-2fde35e6f50ac108-01", "tracestate": "es=s:1", "elastic-apm-traceparent": "00-a7b2625a3c72902f925d822c9a0dfbee-2fde35e6f50ac108-01", "host": "opbeans-python:3000", "connection": "close"}, "url": {"full": "http://opbeans-python:3000/api/products/top", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/top", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "275", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 16, "username": "stevensvirginia", "email": "stevensvirginia@white-riggs.com"}, "tags": {"request_id": "63ab43b8-b4b9-434f-a459-a68bacd69043", "customer_tier": "$"}}}} +{"span": {"id": "42951b7d70bcbfc9", "transaction_id": "008fd991f6b1b368", "trace_id": "b0d747be273d3869079b5be294e78ff4", "parent_id": "008fd991f6b1b368", "name": "hard-home-work", "type": "code", "subtype": "custom", "action": null, "timestamp": 1646055470015007, "duration": 379.5523750013672, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 308, "library_frame": false, "pre_context": ["", "def home(request):"], "context_line": " with elasticapm.capture_span(\"hard-home-work\"):", "post_context": [" time.sleep(random.random() / 2.0)", " return render(request, \"index.html\")"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "eb34fd6ec0a18251", "transaction_id": "008fd991f6b1b368", "trace_id": "b0d747be273d3869079b5be294e78ff4", "parent_id": "008fd991f6b1b368", "name": "index.html", "type": "template", "subtype": "django", "action": "render", "timestamp": 1646055470542304, "duration": 20.722457993542776, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/backends/django.py", "filename": "django/template/backends/django.py", "module": "django.template.backends.django", "function": "render", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/loader.py", "filename": "django/template/loader.py", "module": "django.template.loader", "function": "render_to_string", "lineno": 62, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/shortcuts.py", "filename": "django/shortcuts.py", "module": "django.shortcuts", "function": "render", "lineno": 19, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 310, "library_frame": false, "pre_context": [" with elasticapm.capture_span(\"hard-home-work\"):", " time.sleep(random.random() / 2.0)"], "context_line": " return render(request, \"index.html\")", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "008fd991f6b1b368", "trace_id": "b0d747be273d3869079b5be294e78ff4", "name": "GET opbeans.views.home", "type": "request", "duration": 649.1607089992613, "result": "HTTP 2xx", "timestamp": 1646055469944869, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "9f18d19c0501d45c", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.11", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.11"}, "cookies": {}, "headers": {"host": "opbeans-python:3000", "user-agent": "curl/7.74.0", "accept": "*/*"}, "url": {"full": "http://opbeans-python:3000/", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "text/html; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "871", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 11, "username": "crystal68", "email": "crystal68@gonzales-horn.info"}, "tags": {"request_id": "0ee4f81e-f641-4eea-9b5a-daadf6036601", "customer_tier": "$$"}}}} +{"span": {"id": "69c412d8ece4edba", "transaction_id": "0698ae710fa7721f", "trace_id": "85738622c99b14f952ae663bd4a945ab", "parent_id": "0698ae710fa7721f", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055473130648, "duration": 68.84650001302361, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT SUM(\"total_revenue\"), SUM(\"total_cost\"), SUM(\"total_profit\") FROM (SELECT COUNT(\"opbeans_orderline\".\"order_id\") AS \"order_count\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\") AS \"per_item_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) AS \"total_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"selling_price\") AS \"total_revenue\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"cost\") AS \"total_cost\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) subquery"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "aggregate", "lineno": 399, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 9, "library_frame": false, "pre_context": ["", "def stats():"], "context_line": " numbers = m.Product.objects.annotate(", "post_context": [" order_count=models.Count('order'),", " per_item_profit=models.F('selling_price') - models.F('cost')"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "164f79efa1ab6481", "transaction_id": "0698ae710fa7721f", "trace_id": "85738622c99b14f952ae663bd4a945ab", "parent_id": "0698ae710fa7721f", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055473225440, "duration": 3.9913749787956476, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_product\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "b96fc4f27ddf0cfa", "transaction_id": "0698ae710fa7721f", "trace_id": "85738622c99b14f952ae663bd4a945ab", "parent_id": "0698ae710fa7721f", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055473243033, "duration": 4.596291983034462, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "810dc2ccd54c3e4e", "transaction_id": "0698ae710fa7721f", "trace_id": "85738622c99b14f952ae663bd4a945ab", "parent_id": "0698ae710fa7721f", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055473258351, "duration": 22.127083007944748, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_order\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 24, "library_frame": false, "pre_context": [" 'products': m.Product.objects.count(),", " 'customers': m.Customer.objects.count(),"], "context_line": " 'orders': m.Order.objects.count(),", "post_context": [" 'numbers': numbers", " }"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "113d2f9076f42dcd", "transaction_id": "0698ae710fa7721f", "trace_id": "85738622c99b14f952ae663bd4a945ab", "parent_id": "0698ae710fa7721f", "name": "SET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055473283631, "duration": 4.887624992989004, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "6b8be4549ab5850c", "transaction_id": "0698ae710fa7721f", "trace_id": "85738622c99b14f952ae663bd4a945ab", "parent_id": "0698ae710fa7721f", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055473290310, "duration": 3.560957993613556, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "3c619991906329fb", "transaction_id": "0698ae710fa7721f", "trace_id": "85738622c99b14f952ae663bd4a945ab", "parent_id": "0698ae710fa7721f", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055473296038, "duration": 5.486749985720962, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "_set", "lineno": 401, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/kombu/utils/functional.py", "filename": "kombu/utils/functional.py", "module": "kombu.utils.functional", "function": "retry_over_time", "lineno": 312, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "ensure", "lineno": 376, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "set", "lineno": 392, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "_set_with_state", "lineno": 839, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "_store_result", "lineno": 962, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "store_result", "lineno": 528, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "mark_as_done", "lineno": 162, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 518, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"transaction": {"id": "0698ae710fa7721f", "trace_id": "85738622c99b14f952ae663bd4a945ab", "name": "opbeans.tasks.update_stats", "type": "celery", "duration": 358.0152489885222, "result": "SUCCESS", "timestamp": 1646055472953444, "outcome": "success", "sampled": true, "span_count": {"started": 7, "dropped": 0}, "sample_rate": 1.0, "context": {"custom": {"a": "x", "b": "y"}, "tags": {"a": "x", "b": "y"}}}} +{"span": {"id": "1beb6047c411ca35", "transaction_id": "c26f35081f272657", "trace_id": "e4ca67bca81eed389c0989b0e2dadcbb", "parent_id": "c26f35081f272657", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055477761106, "duration": 31.992292002541944, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT SUM(\"total_revenue\"), SUM(\"total_cost\"), SUM(\"total_profit\") FROM (SELECT COUNT(\"opbeans_orderline\".\"order_id\") AS \"order_count\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\") AS \"per_item_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) AS \"total_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"selling_price\") AS \"total_revenue\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"cost\") AS \"total_cost\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) subquery"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "aggregate", "lineno": 399, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 9, "library_frame": false, "pre_context": ["", "def stats():"], "context_line": " numbers = m.Product.objects.annotate(", "post_context": [" order_count=models.Count('order'),", " per_item_profit=models.F('selling_price') - models.F('cost')"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "83eede361971ec0a", "transaction_id": "c26f35081f272657", "trace_id": "e4ca67bca81eed389c0989b0e2dadcbb", "parent_id": "c26f35081f272657", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055477800522, "duration": 3.3222919737454504, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_product\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "82687d183dadeeaf", "transaction_id": "c26f35081f272657", "trace_id": "e4ca67bca81eed389c0989b0e2dadcbb", "parent_id": "c26f35081f272657", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055477807663, "duration": 8.557125023799017, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 23, "library_frame": false, "pre_context": [" data = {", " 'products': m.Product.objects.count(),"], "context_line": " 'customers': m.Customer.objects.count(),", "post_context": [" 'orders': m.Order.objects.count(),", " 'numbers': numbers"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "57d199d5aff99b83", "transaction_id": "c26f35081f272657", "trace_id": "e4ca67bca81eed389c0989b0e2dadcbb", "parent_id": "c26f35081f272657", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055477825060, "duration": 21.297625004081056, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_order\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 24, "library_frame": false, "pre_context": [" 'products': m.Product.objects.count(),", " 'customers': m.Customer.objects.count(),"], "context_line": " 'orders': m.Order.objects.count(),", "post_context": [" 'numbers': numbers", " }"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "9828a6700a5ccd18", "transaction_id": "c26f35081f272657", "trace_id": "e4ca67bca81eed389c0989b0e2dadcbb", "parent_id": "c26f35081f272657", "name": "SET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055477852409, "duration": 10.554124979535118, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/redis/commands/core.py", "filename": "redis/commands/core.py", "module": "redis.commands.core", "function": "set", "lineno": 1673, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django_redis/client/default.py", "filename": "django_redis/client/default.py", "module": "django_redis.client.default", "function": "set", "lineno": 175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django_redis/cache.py", "filename": "django_redis/cache.py", "module": "django_redis.cache", "function": "set", "lineno": 80, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django_redis/cache.py", "filename": "django_redis/cache.py", "module": "django_redis.cache", "function": "_decorator", "lineno": 31, "library_frame": true}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "ef1d2d1bafb3b64d", "transaction_id": "c26f35081f272657", "trace_id": "e4ca67bca81eed389c0989b0e2dadcbb", "parent_id": "c26f35081f272657", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055477870298, "duration": 2.70641699898988, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "40bfcb7c18320c68", "transaction_id": "c26f35081f272657", "trace_id": "e4ca67bca81eed389c0989b0e2dadcbb", "parent_id": "c26f35081f272657", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055477883128, "duration": 2.73483301862143, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"transaction": {"id": "c26f35081f272657", "trace_id": "e4ca67bca81eed389c0989b0e2dadcbb", "name": "opbeans.tasks.update_stats", "type": "celery", "duration": 173.22366600274108, "result": "SUCCESS", "timestamp": 1646055477719267, "outcome": "success", "sampled": true, "span_count": {"started": 7, "dropped": 0}, "sample_rate": 1.0, "context": {"custom": {"a": "x", "b": "y"}, "tags": {"a": "x", "b": "y"}}}} +{"span": {"id": "b41ab445ec628c3c", "transaction_id": "f5112fb276fdf89b", "trace_id": "7ee55f69bd410642afe53ee778b2bfa9", "parent_id": "f5112fb276fdf89b", "name": "ES POST /py-orders/_search", "type": "db", "subtype": "elasticsearch", "action": "query", "timestamp": 1646055482177546, "duration": 136.853665986564, "outcome": "failure", "sample_rate": 1.0, "context": {"db": {"type": "elasticsearch", "statement": "{\"sort\":[{\"_id\":{\"order\":\"desc\"}}],\"from\":0,\"size\":1}"}, "destination": {"address": "http://elasticsearch:9200", "service": {"resource": "elasticsearch", "name": "", "type": ""}}, "http": {"status_code": 200}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/elasticsearch_dsl/search.py", "filename": "elasticsearch_dsl/search.py", "module": "elasticsearch_dsl.search", "function": "execute", "lineno": 715, "library_frame": true}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "sync_orders", "lineno": 37, "library_frame": false, "pre_context": [" highest_id = None", " try:"], "context_line": " r = Search(index='py-orders').sort('-_id')[0].execute()", "post_context": [" highest_id = int(r.hits[0].meta.id)", " except TransportError as e:"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "f3b6e6c913e71aee", "transaction_id": "f5112fb276fdf89b", "trace_id": "7ee55f69bd410642afe53ee778b2bfa9", "parent_id": "f5112fb276fdf89b", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055482389426, "duration": 4.450167005416006, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "a01ecd8a84493f66", "transaction_id": "f5112fb276fdf89b", "trace_id": "7ee55f69bd410642afe53ee778b2bfa9", "parent_id": "f5112fb276fdf89b", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055482397029, "duration": 4.661499988287687, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "09e9778e5cd15479", "transaction_id": "f5112fb276fdf89b", "trace_id": "7ee55f69bd410642afe53ee778b2bfa9", "parent_id": "f5112fb276fdf89b", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055482458397, "duration": 8.47608401090838, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__repr__", "lineno": 256, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/utils/encoding.py", "filename": "elasticapm/utils/encoding.py", "module": "elasticapm.utils.encoding", "function": "transform", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/utils/encoding.py", "filename": "elasticapm/utils/encoding.py", "module": "elasticapm.utils.encoding", "function": "shorten", "lineno": 208, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/events.py", "filename": "elasticapm/events.py", "module": "elasticapm.events", "function": "", "lineno": 104, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/utils/__init__.py", "filename": "elasticapm/utils/__init__.py", "module": "elasticapm.utils", "function": "varmap", "lineno": 73, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/events.py", "filename": "elasticapm/events.py", "module": "elasticapm.events", "function": "", "lineno": 103, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/utils/stacks.py", "filename": "elasticapm/utils/stacks.py", "module": "elasticapm.utils.stacks", "function": "", "lineno": 294, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/utils/stacks.py", "filename": "elasticapm/utils/stacks.py", "module": "elasticapm.utils.stacks", "function": "get_frame_info", "lineno": 294, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/utils/stacks.py", "filename": "elasticapm/utils/stacks.py", "module": "elasticapm.utils.stacks", "function": "get_stack_info", "lineno": 325, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/events.py", "filename": "elasticapm/events.py", "module": "elasticapm.events", "function": "capture", "lineno": 96, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/base.py", "filename": "elasticapm/base.py", "module": "elasticapm.base", "function": "_build_msg_for_logging", "lineno": 483, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/base.py", "filename": "elasticapm/base.py", "module": "elasticapm.base", "function": "capture", "lineno": 244, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/contrib/django/client.py", "filename": "elasticapm/contrib/django/client.py", "module": "elasticapm.contrib.django.client", "function": "capture", "lineno": 183, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/base.py", "filename": "elasticapm/base.py", "module": "elasticapm.base", "function": "capture_exception", "lineno": 275, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/contrib/celery/__init__.py", "filename": "elasticapm/contrib/celery/__init__.py", "module": "elasticapm.contrib.celery", "function": "process_failure_signal", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/utils/dispatch/signal.py", "filename": "celery/utils/dispatch/signal.py", "module": "celery.utils.dispatch.signal", "function": "send", "lineno": 276, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "handle_failure", "lineno": 232, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "handle_error_state", "lineno": 178, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "on_error", "lineno": 379, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 468, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "02a8ef40563f3f11", "transaction_id": "f5112fb276fdf89b", "trace_id": "7ee55f69bd410642afe53ee778b2bfa9", "parent_id": "f5112fb276fdf89b", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055482491629, "duration": 5.902208999032155, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__repr__", "lineno": 256, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/utils/encoding.py", "filename": "elasticapm/utils/encoding.py", "module": "elasticapm.utils.encoding", "function": "transform", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/utils/encoding.py", "filename": "elasticapm/utils/encoding.py", "module": "elasticapm.utils.encoding", "function": "shorten", "lineno": 208, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/events.py", "filename": "elasticapm/events.py", "module": "elasticapm.events", "function": "", "lineno": 104, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/utils/__init__.py", "filename": "elasticapm/utils/__init__.py", "module": "elasticapm.utils", "function": "varmap", "lineno": 73, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/events.py", "filename": "elasticapm/events.py", "module": "elasticapm.events", "function": "", "lineno": 103, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/utils/stacks.py", "filename": "elasticapm/utils/stacks.py", "module": "elasticapm.utils.stacks", "function": "", "lineno": 294, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/utils/stacks.py", "filename": "elasticapm/utils/stacks.py", "module": "elasticapm.utils.stacks", "function": "get_frame_info", "lineno": 294, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/utils/stacks.py", "filename": "elasticapm/utils/stacks.py", "module": "elasticapm.utils.stacks", "function": "get_stack_info", "lineno": 325, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/events.py", "filename": "elasticapm/events.py", "module": "elasticapm.events", "function": "capture", "lineno": 96, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/base.py", "filename": "elasticapm/base.py", "module": "elasticapm.base", "function": "_build_msg_for_logging", "lineno": 483, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/base.py", "filename": "elasticapm/base.py", "module": "elasticapm.base", "function": "capture", "lineno": 244, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/contrib/django/client.py", "filename": "elasticapm/contrib/django/client.py", "module": "elasticapm.contrib.django.client", "function": "capture", "lineno": 183, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/base.py", "filename": "elasticapm/base.py", "module": "elasticapm.base", "function": "capture_exception", "lineno": 275, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticapm/contrib/celery/__init__.py", "filename": "elasticapm/contrib/celery/__init__.py", "module": "elasticapm.contrib.celery", "function": "process_failure_signal", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/utils/dispatch/signal.py", "filename": "celery/utils/dispatch/signal.py", "module": "celery.utils.dispatch.signal", "function": "send", "lineno": 276, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "handle_failure", "lineno": 232, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "handle_error_state", "lineno": 178, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "on_error", "lineno": 379, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 468, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "14a4e7f0ced6fe3e", "transaction_id": "f5112fb276fdf89b", "trace_id": "7ee55f69bd410642afe53ee778b2bfa9", "parent_id": "f5112fb276fdf89b", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055482515551, "duration": 2.229332982096821, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "754a53ed1461b6d2", "transaction_id": "f5112fb276fdf89b", "trace_id": "7ee55f69bd410642afe53ee778b2bfa9", "parent_id": "f5112fb276fdf89b", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055482530408, "duration": 1.5509170189034194, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "20ad9b1b4c3fac44", "transaction_id": "a2cb9cb094275cb5", "trace_id": "887c49294923a520a9b8e9a698ebd9da", "parent_id": "a2cb9cb094275cb5", "name": "hard-home-work", "type": "code", "subtype": "custom", "action": null, "timestamp": 1646055480865649, "duration": 90.46258401940577, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 308, "library_frame": false, "pre_context": ["", "def home(request):"], "context_line": " with elasticapm.capture_span(\"hard-home-work\"):", "post_context": [" time.sleep(random.random() / 2.0)", " return render(request, \"index.html\")"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "51a9f35e2a8f2f56", "transaction_id": "a2cb9cb094275cb5", "trace_id": "887c49294923a520a9b8e9a698ebd9da", "parent_id": "a2cb9cb094275cb5", "name": "index.html", "type": "template", "subtype": "django", "action": "render", "timestamp": 1646055481033417, "duration": 11.555875011254102, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/backends/django.py", "filename": "django/template/backends/django.py", "module": "django.template.backends.django", "function": "render", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/loader.py", "filename": "django/template/loader.py", "module": "django.template.loader", "function": "render_to_string", "lineno": 62, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/shortcuts.py", "filename": "django/shortcuts.py", "module": "django.shortcuts", "function": "render", "lineno": 19, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 310, "library_frame": false, "pre_context": [" with elasticapm.capture_span(\"hard-home-work\"):", " time.sleep(random.random() / 2.0)"], "context_line": " return render(request, \"index.html\")", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "a2cb9cb094275cb5", "trace_id": "887c49294923a520a9b8e9a698ebd9da", "name": "GET opbeans.views.home", "type": "request", "duration": 206.68483301415108, "result": "HTTP 2xx", "timestamp": 1646055480857937, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "e44597576eae8241", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.11", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.11"}, "cookies": {}, "headers": {"host": "opbeans-python:3000", "user-agent": "curl/7.74.0", "accept": "*/*"}, "url": {"full": "http://opbeans-python:3000/", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "text/html; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "871", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 19, "username": "michael18", "email": "michael18@cross.com"}, "tags": {"request_id": "b108c1b8-d280-44f3-b3d2-962bbede8775", "customer_tier": "$"}}}} +{"transaction": {"id": "f5112fb276fdf89b", "trace_id": "7ee55f69bd410642afe53ee778b2bfa9", "name": "opbeans.tasks.sync_orders", "type": "celery", "duration": 481.1979999940377, "result": "FAILURE", "timestamp": 1646055482135205, "outcome": "failure", "sampled": true, "span_count": {"started": 7, "dropped": 0}, "sample_rate": 1.0, "context": {"tags": {}}}} +{"span": {"id": "fcfd296d2c69fcf9", "transaction_id": "428498c5ef8cd15c", "trace_id": "b16eb14e432c1f78b32d0a00f68f318b", "parent_id": "428498c5ef8cd15c", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055482689433, "duration": 58.52708299062215, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT SUM(\"total_revenue\"), SUM(\"total_cost\"), SUM(\"total_profit\") FROM (SELECT COUNT(\"opbeans_orderline\".\"order_id\") AS \"order_count\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\") AS \"per_item_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) AS \"total_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"selling_price\") AS \"total_revenue\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"cost\") AS \"total_cost\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) subquery"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "aggregate", "lineno": 399, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 9, "library_frame": false, "pre_context": ["", "def stats():"], "context_line": " numbers = m.Product.objects.annotate(", "post_context": [" order_count=models.Count('order'),", " per_item_profit=models.F('selling_price') - models.F('cost')"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "993af4dd8a25ef40", "transaction_id": "428498c5ef8cd15c", "trace_id": "b16eb14e432c1f78b32d0a00f68f318b", "parent_id": "428498c5ef8cd15c", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055482775999, "duration": 12.192666996270418, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_product\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 22, "library_frame": false, "pre_context": [" )", " data = {"], "context_line": " 'products': m.Product.objects.count(),", "post_context": [" 'customers': m.Customer.objects.count(),", " 'orders': m.Order.objects.count(),"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "d5a05b609966f869", "transaction_id": "428498c5ef8cd15c", "trace_id": "b16eb14e432c1f78b32d0a00f68f318b", "parent_id": "428498c5ef8cd15c", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055482793171, "duration": 6.872957979794592, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 23, "library_frame": false, "pre_context": [" data = {", " 'products': m.Product.objects.count(),"], "context_line": " 'customers': m.Customer.objects.count(),", "post_context": [" 'orders': m.Order.objects.count(),", " 'numbers': numbers"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "7f654466ca2f2225", "transaction_id": "428498c5ef8cd15c", "trace_id": "b16eb14e432c1f78b32d0a00f68f318b", "parent_id": "428498c5ef8cd15c", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055482804837, "duration": 9.573500021360815, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_order\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 24, "library_frame": false, "pre_context": [" 'products': m.Product.objects.count(),", " 'customers': m.Customer.objects.count(),"], "context_line": " 'orders': m.Order.objects.count(),", "post_context": [" 'numbers': numbers", " }"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "df08c82aee6d2090", "transaction_id": "428498c5ef8cd15c", "trace_id": "b16eb14e432c1f78b32d0a00f68f318b", "parent_id": "428498c5ef8cd15c", "name": "SET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055482818386, "duration": 5.124125018483028, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/redis/commands/core.py", "filename": "redis/commands/core.py", "module": "redis.commands.core", "function": "set", "lineno": 1673, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django_redis/client/default.py", "filename": "django_redis/client/default.py", "module": "django_redis.client.default", "function": "set", "lineno": 175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django_redis/cache.py", "filename": "django_redis/cache.py", "module": "django_redis.cache", "function": "set", "lineno": 80, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django_redis/cache.py", "filename": "django_redis/cache.py", "module": "django_redis.cache", "function": "_decorator", "lineno": 31, "library_frame": true}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "8888da0faf355c26", "transaction_id": "428498c5ef8cd15c", "trace_id": "b16eb14e432c1f78b32d0a00f68f318b", "parent_id": "428498c5ef8cd15c", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055482825833, "duration": 2.4155830033123493, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "2c88c963d6f8dbd8", "transaction_id": "428498c5ef8cd15c", "trace_id": "b16eb14e432c1f78b32d0a00f68f318b", "parent_id": "428498c5ef8cd15c", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055482829397, "duration": 1.9235409854445606, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"transaction": {"id": "428498c5ef8cd15c", "trace_id": "b16eb14e432c1f78b32d0a00f68f318b", "name": "opbeans.tasks.update_stats", "type": "celery", "duration": 195.80404201406054, "result": "SUCCESS", "timestamp": 1646055482640121, "outcome": "success", "sampled": true, "span_count": {"started": 7, "dropped": 0}, "sample_rate": 1.0, "context": {"custom": {"a": "x", "b": "y"}, "tags": {"a": "x", "b": "y"}}}} +{"span": {"id": "ae04b167a1a96507", "transaction_id": "791f9e32b4874dc4", "trace_id": "4750bf0431d66d6c50c185ca1c54c09c", "parent_id": "791f9e32b4874dc4", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487707201, "duration": 40.036541991867125, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT SUM(\"total_revenue\"), SUM(\"total_cost\"), SUM(\"total_profit\") FROM (SELECT COUNT(\"opbeans_orderline\".\"order_id\") AS \"order_count\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\") AS \"per_item_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) AS \"total_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"selling_price\") AS \"total_revenue\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"cost\") AS \"total_cost\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) subquery"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "aggregate", "lineno": 399, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 9, "library_frame": false, "pre_context": ["", "def stats():"], "context_line": " numbers = m.Product.objects.annotate(", "post_context": [" order_count=models.Count('order'),", " per_item_profit=models.F('selling_price') - models.F('cost')"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "d23a3c8c7ca9e5c2", "transaction_id": "791f9e32b4874dc4", "trace_id": "4750bf0431d66d6c50c185ca1c54c09c", "parent_id": "791f9e32b4874dc4", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487764290, "duration": 13.38137499988079, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_product\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 22, "library_frame": false, "pre_context": [" )", " data = {"], "context_line": " 'products': m.Product.objects.count(),", "post_context": [" 'customers': m.Customer.objects.count(),", " 'orders': m.Order.objects.count(),"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "718a6b4b0e3387d9", "transaction_id": "791f9e32b4874dc4", "trace_id": "4750bf0431d66d6c50c185ca1c54c09c", "parent_id": "791f9e32b4874dc4", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487788070, "duration": 1.3937079929746687, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "e5709567dfcdb96d", "transaction_id": "791f9e32b4874dc4", "trace_id": "4750bf0431d66d6c50c185ca1c54c09c", "parent_id": "791f9e32b4874dc4", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487795609, "duration": 6.95995899150148, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_order\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 24, "library_frame": false, "pre_context": [" 'products': m.Product.objects.count(),", " 'customers': m.Customer.objects.count(),"], "context_line": " 'orders': m.Order.objects.count(),", "post_context": [" 'numbers': numbers", " }"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "31d56cf2e1d31738", "transaction_id": "791f9e32b4874dc4", "trace_id": "4750bf0431d66d6c50c185ca1c54c09c", "parent_id": "791f9e32b4874dc4", "name": "SET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055487804991, "duration": 2.9255000117700547, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "5c2e474f4f117f2d", "transaction_id": "791f9e32b4874dc4", "trace_id": "4750bf0431d66d6c50c185ca1c54c09c", "parent_id": "791f9e32b4874dc4", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055487809572, "duration": 1.436582999303937, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "566a14e2be7ca1a5", "transaction_id": "791f9e32b4874dc4", "trace_id": "4750bf0431d66d6c50c185ca1c54c09c", "parent_id": "791f9e32b4874dc4", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055487811915, "duration": 2.0655409898608923, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"transaction": {"id": "791f9e32b4874dc4", "trace_id": "4750bf0431d66d6c50c185ca1c54c09c", "name": "opbeans.tasks.update_stats", "type": "celery", "duration": 166.10274999402463, "result": "SUCCESS", "timestamp": 1646055487649695, "outcome": "success", "sampled": true, "span_count": {"started": 7, "dropped": 0}, "sample_rate": 1.0, "context": {"custom": {"a": "x", "b": "y"}, "tags": {"a": "x", "b": "y"}}}} +{"span": {"id": "f3af3305ee9ca353", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "4dac164f99e0583e", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486592191, "duration": 9.485290996963158, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" LIMIT 1000"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 199, "library_frame": false, "pre_context": [" elasticapm.set_transaction_name('POST opbeans.views.post_order')", " return post_order(request)"], "context_line": " order_list = list(m.Order.objects.all()[:1000])", "post_context": [" with elasticapm.capture_span(\"iterate_orders\"):", " orders = ["]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "4a4a48c8565bf856", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486751891, "duration": 2.691791014513001, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "3a1b4c333e45ec98", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486759001, "duration": 1.998082996578887, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "54c598b5f1faf63b", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486769738, "duration": 1.564375008456409, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "ff25b11aaad3587d", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486776965, "duration": 2.207582991104573, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "3cc28ee324e18cfa", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486799041, "duration": 6.059083010768518, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "490a68eda89077aa", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486815159, "duration": 5.09954200242646, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "6fb2bee06ab73fc2", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486826461, "duration": 2.7579170127864927, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "2403086160823a1d", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486837009, "duration": 1.5062910097185522, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "0a7c0c707cc56c44", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486845454, "duration": 1.2500830052886158, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "cb0139fe18e8fb06", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486851267, "duration": 2.0298339950386435, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "8eac7eddba11ca82", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486859828, "duration": 1.4396250189747661, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "2cafe718686c6acf", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486869092, "duration": 1.309167011640966, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "860a2276b6d5e1c4", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486875405, "duration": 2.118499978678301, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "74a71d3dad99ecad", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486883397, "duration": 2.4586670042481273, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "e7b9df7f9ce11c53", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486892689, "duration": 2.8868329827673733, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "9b5edbc28fb75393", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486900847, "duration": 3.3208749955520034, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "7f00f8013167f62d", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486911032, "duration": 1.5619579935446382, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "b4cfaa7e161cd94e", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486918867, "duration": 1.3582079845946282, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "a2ad881b5b0b48a7", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486925227, "duration": 2.5136249896604568, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "1a51bf27ed467d32", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486932637, "duration": 5.008625012123957, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "3ab6ce2ff0501a49", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486943593, "duration": 1.3369170192163438, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "cd94cbebe1ba07eb", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486949892, "duration": 1.8682910013012588, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "542efa73434a9672", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486964452, "duration": 1.6219160170294344, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "275076ca9a90af89", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486979512, "duration": 1.494875003118068, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "0731ec8453d4a67a", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055486986078, "duration": 8.758959011174738, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "26d2167ee15bf1fe", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487012575, "duration": 3.4302919812034816, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "2577617408c1d63a", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487022872, "duration": 1.7530839832033962, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "22749932810d3ff5", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487031315, "duration": 2.082999999402091, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "d2afb27a4fd3a13d", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487038626, "duration": 7.950541999889538, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "75e9bafe223c44c3", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487061682, "duration": 1.5032499795779586, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "9b42d557195a5f23", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487067638, "duration": 1.9442499906290323, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "0b8a80f17ef3c0e7", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487076031, "duration": 1.6673339996486902, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "12dd75065b7e5a84", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487086032, "duration": 1.6112089797388762, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "7179515f141f933a", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487093830, "duration": 1.462374988477677, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "72f4e0fe8995ccfa", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487100098, "duration": 1.5251250006258488, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "0edcfefcdda4dd7f", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487105300, "duration": 1.3701250136364251, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "ce0be6b71f7ca2c7", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487110386, "duration": 1.2796249939128757, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "aacea7d01e354845", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487115027, "duration": 2.1242079965304583, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "51a0965385563867", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487121155, "duration": 1.3556669873651117, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "7c214c3d246eeb33", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487125940, "duration": 1.5514589904341847, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "9626e1d611cf1014", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487130956, "duration": 1.1129160120617598, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "6529abee587e7598", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487135319, "duration": 1.5739169903099537, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "8792e513d244e90a", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487140746, "duration": 1.1606250191107392, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "336961ea55cf3ab0", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487145454, "duration": 1.236834010342136, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "a03c01adcc9f21cf", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487149914, "duration": 1.0552080057095736, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "86666f596f95ae26", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487153936, "duration": 1.1579999991226941, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "485112942e336d1f", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487157902, "duration": 1.0620420216582716, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "01cd2e19eb40e2a0", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "a951684d72c2f7e3", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055487162191, "duration": 1.7535420192871243, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "a951684d72c2f7e3", "transaction_id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "parent_id": "4dac164f99e0583e", "name": "iterate_orders", "type": "code", "subtype": "custom", "action": null, "timestamp": 1646055486742873, "duration": 6426.213419006672, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 200, "library_frame": false, "pre_context": [" return post_order(request)", " order_list = list(m.Order.objects.all()[:1000])"], "context_line": " with elasticapm.capture_span(\"iterate_orders\"):", "post_context": [" orders = [", " {\"id\": order.id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "4dac164f99e0583e", "trace_id": "bea1f2882a5197be0f29c994d16c13af", "name": "GET opbeans.views.orders", "type": "request", "duration": 6684.248711011605, "result": "HTTP 2xx", "timestamp": 1646055486565476, "outcome": "success", "sampled": true, "span_count": {"started": 50, "dropped": 952}, "dropped_spans_stats": [{"destination_service_resource": "postgresql", "outcome": "success", "duration": {"count": 952, "sum": {"us": 1194565}}}], "sample_rate": 1.0, "parent_id": "ce3c003903ed4693", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "localhost:3000", "user-agent": "Go-http-client/1.1", "accept-encoding": "gzip", "elastic-apm-traceparent": "00-bea1f2882a5197be0f29c994d16c13af-ce3c003903ed4693-01", "traceparent": "00-bea1f2882a5197be0f29c994d16c13af-ce3c003903ed4693-01", "tracestate": "es=s:1", "x-forwarded-for": "127.0.0.1"}, "url": {"full": "http://localhost:3000/api/orders", "protocol": "http:", "hostname": "localhost", "pathname": "/api/orders", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "108580", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 11, "username": "crystal68", "email": "crystal68@gonzales-horn.info"}, "tags": {"request_id": "cb0ad289-bde1-4eaf-90fd-238a82ccfc3a", "customer_tier": "$$"}}}} +{"span": {"id": "5a2a7e1d394fd2f2", "transaction_id": "cdc7a5f38a03ff9c", "trace_id": "df01941ba631c16da1c66cc7c7183ecb", "parent_id": "cdc7a5f38a03ff9c", "name": "hard-home-work", "type": "code", "subtype": "custom", "action": null, "timestamp": 1646055491354231, "duration": 352.7575829939451, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 308, "library_frame": false, "pre_context": ["", "def home(request):"], "context_line": " with elasticapm.capture_span(\"hard-home-work\"):", "post_context": [" time.sleep(random.random() / 2.0)", " return render(request, \"index.html\")"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "2f0dfa75b48a0bbc", "transaction_id": "cdc7a5f38a03ff9c", "trace_id": "df01941ba631c16da1c66cc7c7183ecb", "parent_id": "cdc7a5f38a03ff9c", "name": "index.html", "type": "template", "subtype": "django", "action": "render", "timestamp": 1646055491711446, "duration": 14.124957990134135, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/backends/django.py", "filename": "django/template/backends/django.py", "module": "django.template.backends.django", "function": "render", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/loader.py", "filename": "django/template/loader.py", "module": "django.template.loader", "function": "render_to_string", "lineno": 62, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/shortcuts.py", "filename": "django/shortcuts.py", "module": "django.shortcuts", "function": "render", "lineno": 19, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 310, "library_frame": false, "pre_context": [" with elasticapm.capture_span(\"hard-home-work\"):", " time.sleep(random.random() / 2.0)"], "context_line": " return render(request, \"index.html\")", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "cdc7a5f38a03ff9c", "trace_id": "df01941ba631c16da1c66cc7c7183ecb", "name": "GET opbeans.views.home", "type": "request", "duration": 402.87045898730867, "result": "HTTP 2xx", "timestamp": 1646055491342928, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "1eae96926808f4db", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.11", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.11"}, "cookies": {}, "headers": {"host": "opbeans-python:3000", "user-agent": "curl/7.74.0", "accept": "*/*"}, "url": {"full": "http://opbeans-python:3000/", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "text/html; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "871", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 11, "username": "crystal68", "email": "crystal68@gonzales-horn.info"}, "tags": {"request_id": "d6248c7f-263a-4ff2-b256-5b415a30fe77", "customer_tier": "$$"}}}} +{"span": {"id": "8946d928d370af76", "transaction_id": "421c789672dc2a6e", "trace_id": "3d53e466f2cbb774c257dae81a39e045", "parent_id": "421c789672dc2a6e", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055492614479, "duration": 23.631750023923814, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT SUM(\"total_revenue\"), SUM(\"total_cost\"), SUM(\"total_profit\") FROM (SELECT COUNT(\"opbeans_orderline\".\"order_id\") AS \"order_count\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\") AS \"per_item_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) AS \"total_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"selling_price\") AS \"total_revenue\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"cost\") AS \"total_cost\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) subquery"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "aggregate", "lineno": 399, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 9, "library_frame": false, "pre_context": ["", "def stats():"], "context_line": " numbers = m.Product.objects.annotate(", "post_context": [" order_count=models.Count('order'),", " per_item_profit=models.F('selling_price') - models.F('cost')"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "6e21ebc5cad5f9a0", "transaction_id": "421c789672dc2a6e", "trace_id": "3d53e466f2cbb774c257dae81a39e045", "parent_id": "421c789672dc2a6e", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055492660820, "duration": 3.351124993059784, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_product\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "c346f0147a9b00c4", "transaction_id": "421c789672dc2a6e", "trace_id": "3d53e466f2cbb774c257dae81a39e045", "parent_id": "421c789672dc2a6e", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055492669381, "duration": 7.7448329830076545, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 23, "library_frame": false, "pre_context": [" data = {", " 'products': m.Product.objects.count(),"], "context_line": " 'customers': m.Customer.objects.count(),", "post_context": [" 'orders': m.Order.objects.count(),", " 'numbers': numbers"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "ee12e8064ae487a4", "transaction_id": "421c789672dc2a6e", "trace_id": "3d53e466f2cbb774c257dae81a39e045", "parent_id": "421c789672dc2a6e", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055492683471, "duration": 12.652167002670467, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_order\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 24, "library_frame": false, "pre_context": [" 'products': m.Product.objects.count(),", " 'customers': m.Customer.objects.count(),"], "context_line": " 'orders': m.Order.objects.count(),", "post_context": [" 'numbers': numbers", " }"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "15ad4fba91e0b63b", "transaction_id": "421c789672dc2a6e", "trace_id": "3d53e466f2cbb774c257dae81a39e045", "parent_id": "421c789672dc2a6e", "name": "SET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055492698834, "duration": 4.4564159761648625, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "a59764f7db517f42", "transaction_id": "421c789672dc2a6e", "trace_id": "3d53e466f2cbb774c257dae81a39e045", "parent_id": "421c789672dc2a6e", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055492708045, "duration": 6.102457991801202, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/redis/commands/core.py", "filename": "redis/commands/core.py", "module": "redis.commands.core", "function": "get", "lineno": 1233, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "get", "lineno": 368, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "_get_task_meta_for", "lineno": 978, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "_store_result", "lineno": 956, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "store_result", "lineno": 528, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "mark_as_done", "lineno": 162, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 518, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "b36fcd4d1ff17f11", "transaction_id": "421c789672dc2a6e", "trace_id": "3d53e466f2cbb774c257dae81a39e045", "parent_id": "421c789672dc2a6e", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055492716489, "duration": 11.399792012525722, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "_set", "lineno": 401, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/kombu/utils/functional.py", "filename": "kombu/utils/functional.py", "module": "kombu.utils.functional", "function": "retry_over_time", "lineno": 312, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "ensure", "lineno": 376, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "set", "lineno": 392, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "_set_with_state", "lineno": 839, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "_store_result", "lineno": 962, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "store_result", "lineno": 528, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "mark_as_done", "lineno": 162, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 518, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"transaction": {"id": "421c789672dc2a6e", "trace_id": "3d53e466f2cbb774c257dae81a39e045", "name": "opbeans.tasks.update_stats", "type": "celery", "duration": 140.70416701724753, "result": "SUCCESS", "timestamp": 1646055492598316, "outcome": "success", "sampled": true, "span_count": {"started": 7, "dropped": 0}, "sample_rate": 1.0, "context": {"custom": {"a": "x", "b": "y"}, "tags": {"a": "x", "b": "y"}}}} +{"span": {"id": "3c0c41d168abb4d1", "transaction_id": "d56d475d3dca492c", "trace_id": "12d47bf8d71b2d79adae879aa0d8ec0c", "parent_id": "d56d475d3dca492c", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055497596463, "duration": 16.666874988004565, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT SUM(\"total_revenue\"), SUM(\"total_cost\"), SUM(\"total_profit\") FROM (SELECT COUNT(\"opbeans_orderline\".\"order_id\") AS \"order_count\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\") AS \"per_item_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) AS \"total_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"selling_price\") AS \"total_revenue\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"cost\") AS \"total_cost\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) subquery"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "aggregate", "lineno": 399, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 9, "library_frame": false, "pre_context": ["", "def stats():"], "context_line": " numbers = m.Product.objects.annotate(", "post_context": [" order_count=models.Count('order'),", " per_item_profit=models.F('selling_price') - models.F('cost')"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "c24b403f498f1c3f", "transaction_id": "d56d475d3dca492c", "trace_id": "12d47bf8d71b2d79adae879aa0d8ec0c", "parent_id": "d56d475d3dca492c", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055497616588, "duration": 2.3966250009834766, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_product\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "763116c28fcf0458", "transaction_id": "d56d475d3dca492c", "trace_id": "12d47bf8d71b2d79adae879aa0d8ec0c", "parent_id": "d56d475d3dca492c", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055497620611, "duration": 1.1559999838937074, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "8170a6fb2486c360", "transaction_id": "d56d475d3dca492c", "trace_id": "12d47bf8d71b2d79adae879aa0d8ec0c", "parent_id": "d56d475d3dca492c", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055497623089, "duration": 4.543125018244609, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_order\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "786de831b4069626", "transaction_id": "d56d475d3dca492c", "trace_id": "12d47bf8d71b2d79adae879aa0d8ec0c", "parent_id": "d56d475d3dca492c", "name": "SET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055497628808, "duration": 1.4186670014169067, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "377fd4275cd46e3a", "transaction_id": "d56d475d3dca492c", "trace_id": "12d47bf8d71b2d79adae879aa0d8ec0c", "parent_id": "d56d475d3dca492c", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055497631127, "duration": 1.1056670045945793, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "b73ec8418d08d825", "transaction_id": "d56d475d3dca492c", "trace_id": "12d47bf8d71b2d79adae879aa0d8ec0c", "parent_id": "d56d475d3dca492c", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055497632894, "duration": 1.4734590076841414, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"transaction": {"id": "d56d475d3dca492c", "trace_id": "12d47bf8d71b2d79adae879aa0d8ec0c", "name": "opbeans.tasks.update_stats", "type": "celery", "duration": 56.610874977195635, "result": "SUCCESS", "timestamp": 1646055497579845, "outcome": "success", "sampled": true, "span_count": {"started": 7, "dropped": 0}, "sample_rate": 1.0, "context": {"custom": {"a": "x", "b": "y"}, "tags": {"a": "x", "b": "y"}}}} +{"span": {"id": "c516c9cee6213762", "transaction_id": "91e95a8b708c828b", "trace_id": "e9e0a6397a02e86f4748327405fd5f9c", "parent_id": "91e95a8b708c828b", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055501170096, "duration": 47.83424999914132, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\", COUNT(\"opbeans_order\".\"id\") AS \"total_orders\" FROM \"opbeans_customer\" LEFT OUTER JOIN \"opbeans_order\" ON (\"opbeans_customer\".\"id\" = \"opbeans_order\".\"customer_id\") GROUP BY \"opbeans_customer\".\"id\" ORDER BY \"opbeans_customer\".\"id\" ASC OFFSET 50"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 280, "library_frame": true}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "sync_customers", "lineno": 28, "library_frame": false, "pre_context": ["def sync_customers():", " customer_docs = []"], "context_line": " for customer in models.Customer.objects.annotate(total_orders=m.Count('orders')).order_by('pk')[50:]:", "post_context": [" customer_docs.append(documents.Customer(**customer.to_search()).to_dict(include_meta=True))", " bulk(connections.get_connection(), customer_docs)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "b0c41cf4d2dc869e", "transaction_id": "91e95a8b708c828b", "trace_id": "e9e0a6397a02e86f4748327405fd5f9c", "parent_id": "91e95a8b708c828b", "name": "ES POST /_bulk", "type": "db", "subtype": "elasticsearch", "action": "query", "timestamp": 1646055501791429, "duration": 41.58645900315605, "outcome": "failure", "sample_rate": 1.0, "context": {"db": {"type": "elasticsearch"}, "destination": {"address": "http://elasticsearch:9200", "service": {"resource": "elasticsearch", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/elasticsearch/helpers/actions.py", "filename": "elasticsearch/helpers/actions.py", "module": "elasticsearch.helpers.actions", "function": "_process_bulk_chunk", "lineno": 240, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticsearch/helpers/actions.py", "filename": "elasticsearch/helpers/actions.py", "module": "elasticsearch.helpers.actions", "function": "streaming_bulk", "lineno": 329, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/elasticsearch/helpers/actions.py", "filename": "elasticsearch/helpers/actions.py", "module": "elasticsearch.helpers.actions", "function": "bulk", "lineno": 410, "library_frame": true}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "sync_customers", "lineno": 30, "library_frame": false, "pre_context": [" for customer in models.Customer.objects.annotate(total_orders=m.Count('orders')).order_by('pk')[50:]:", " customer_docs.append(documents.Customer(**customer.to_search()).to_dict(include_meta=True))"], "context_line": " bulk(connections.get_connection(), customer_docs)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "cacd58ff19664f47", "transaction_id": "91e95a8b708c828b", "trace_id": "e9e0a6397a02e86f4748327405fd5f9c", "parent_id": "91e95a8b708c828b", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055501858067, "duration": 1.5442919975612313, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "763e97f8c448f3f4", "transaction_id": "91e95a8b708c828b", "trace_id": "e9e0a6397a02e86f4748327405fd5f9c", "parent_id": "91e95a8b708c828b", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055501860760, "duration": 3.2162909919861704, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "29f5f97145721d44", "transaction_id": "415e6ce7f4096365", "trace_id": "1ca42860c74fd8eecc3dfd74b26b63fb", "parent_id": "415e6ce7f4096365", "name": "hard-home-work", "type": "code", "subtype": "custom", "action": null, "timestamp": 1646055501958020, "duration": 499.5835419977084, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 308, "library_frame": false, "pre_context": ["", "def home(request):"], "context_line": " with elasticapm.capture_span(\"hard-home-work\"):", "post_context": [" time.sleep(random.random() / 2.0)", " return render(request, \"index.html\")"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "af01a1b07ba4023e", "transaction_id": "415e6ce7f4096365", "trace_id": "1ca42860c74fd8eecc3dfd74b26b63fb", "parent_id": "415e6ce7f4096365", "name": "index.html", "type": "template", "subtype": "django", "action": "render", "timestamp": 1646055502460911, "duration": 14.269208011683077, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/backends/django.py", "filename": "django/template/backends/django.py", "module": "django.template.backends.django", "function": "render", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/loader.py", "filename": "django/template/loader.py", "module": "django.template.loader", "function": "render_to_string", "lineno": 62, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/shortcuts.py", "filename": "django/shortcuts.py", "module": "django.shortcuts", "function": "render", "lineno": 19, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 310, "library_frame": false, "pre_context": [" with elasticapm.capture_span(\"hard-home-work\"):", " time.sleep(random.random() / 2.0)"], "context_line": " return render(request, \"index.html\")", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "415e6ce7f4096365", "trace_id": "1ca42860c74fd8eecc3dfd74b26b63fb", "name": "GET opbeans.views.home", "type": "request", "duration": 538.1338339939248, "result": "HTTP 2xx", "timestamp": 1646055501947208, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "d41806d818f3ac15", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.11", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.11"}, "cookies": {}, "headers": {"host": "opbeans-python:3000", "user-agent": "curl/7.74.0", "accept": "*/*"}, "url": {"full": "http://opbeans-python:3000/", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "text/html; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "871", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 16, "username": "stevensvirginia", "email": "stevensvirginia@white-riggs.com"}, "tags": {"request_id": "0b51fb06-c0d4-4661-b036-fd403115ebfc", "customer_tier": "$"}}}} +{"span": {"id": "dfaf1f1ea0bb6e32", "transaction_id": "5e8cfc70ae4ddc85", "trace_id": "da61307e05a5d4195773fc273985b73a", "parent_id": "5e8cfc70ae4ddc85", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055507656822, "duration": 3.3534170070197433, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" WHERE \"opbeans_order\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "687297ad05c732b7", "transaction_id": "5e8cfc70ae4ddc85", "trace_id": "da61307e05a5d4195773fc273985b73a", "parent_id": "5e8cfc70ae4ddc85", "name": "SELECT FROM opbeans_orderline", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055507673205, "duration": 2.534416998969391, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_orderline\".\"product_id\", \"opbeans_orderline\".\"amount\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_orderline\" INNER JOIN \"opbeans_product\" ON (\"opbeans_orderline\".\"product_id\" = \"opbeans_product\".\"id\") WHERE \"opbeans_orderline\".\"order_id\" = %s"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "5e8cfc70ae4ddc85", "trace_id": "da61307e05a5d4195773fc273985b73a", "name": "GET opbeans.views.order", "type": "request", "duration": 91.9694580079522, "result": "HTTP 2xx", "timestamp": 1646055507592198, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "82c54e39ad4d938a", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.12", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.12"}, "cookies": {}, "headers": {"connection": "close", "host": "opbeans-python:3000", "user-agent": "http.rb/5.0.4", "traceparent": "00-da61307e05a5d4195773fc273985b73a-82c54e39ad4d938a-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-da61307e05a5d4195773fc273985b73a-82c54e39ad4d938a-01"}, "url": {"full": "http://opbeans-python:3000/api/orders/433", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/orders/433", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "330", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 4, "username": "ooneal", "email": "ooneal@barnett.com"}, "tags": {"request_id": "1cbfdd39-194f-417e-b621-5e5ed75617b5", "customer_tier": "$"}}}} +{"transaction": {"id": "91e95a8b708c828b", "trace_id": "e9e0a6397a02e86f4748327405fd5f9c", "name": "opbeans.tasks.sync_customers", "type": "celery", "duration": 7927.959169988753, "result": "FAILURE", "timestamp": 1646055501123274, "outcome": "failure", "sampled": true, "span_count": {"started": 4, "dropped": 0}, "sample_rate": 1.0, "context": {"tags": {}}}} +{"span": {"id": "168b7a99a0f85fb0", "transaction_id": "f0b7bd6fe173e4f2", "trace_id": "3f6ecb4ef30dd49527db0f5dc53a5f88", "parent_id": "f0b7bd6fe173e4f2", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055509103115, "duration": 19.100625009741634, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT SUM(\"total_revenue\"), SUM(\"total_cost\"), SUM(\"total_profit\") FROM (SELECT COUNT(\"opbeans_orderline\".\"order_id\") AS \"order_count\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\") AS \"per_item_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) AS \"total_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"selling_price\") AS \"total_revenue\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"cost\") AS \"total_cost\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) subquery"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "aggregate", "lineno": 399, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 9, "library_frame": false, "pre_context": ["", "def stats():"], "context_line": " numbers = m.Product.objects.annotate(", "post_context": [" order_count=models.Count('order'),", " per_item_profit=models.F('selling_price') - models.F('cost')"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "184c3e9f5e505828", "transaction_id": "f0b7bd6fe173e4f2", "trace_id": "3f6ecb4ef30dd49527db0f5dc53a5f88", "parent_id": "f0b7bd6fe173e4f2", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055509126677, "duration": 0.8732090063858777, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_product\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "0dfebc8abc282463", "transaction_id": "f0b7bd6fe173e4f2", "trace_id": "3f6ecb4ef30dd49527db0f5dc53a5f88", "parent_id": "f0b7bd6fe173e4f2", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055509129041, "duration": 0.8829160069581121, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "3010c5412d342eed", "transaction_id": "f0b7bd6fe173e4f2", "trace_id": "3f6ecb4ef30dd49527db0f5dc53a5f88", "parent_id": "f0b7bd6fe173e4f2", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055509131416, "duration": 10.908625001320615, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_order\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 24, "library_frame": false, "pre_context": [" 'products': m.Product.objects.count(),", " 'customers': m.Customer.objects.count(),"], "context_line": " 'orders': m.Order.objects.count(),", "post_context": [" 'numbers': numbers", " }"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "d9b1eee4e8517657", "transaction_id": "f0b7bd6fe173e4f2", "trace_id": "3f6ecb4ef30dd49527db0f5dc53a5f88", "parent_id": "f0b7bd6fe173e4f2", "name": "SET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055509144836, "duration": 4.192666005110368, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "3e16dd5cebf7e475", "transaction_id": "f0b7bd6fe173e4f2", "trace_id": "3f6ecb4ef30dd49527db0f5dc53a5f88", "parent_id": "f0b7bd6fe173e4f2", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055509150288, "duration": 1.131124998209998, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "534aa1a4ba94c526", "transaction_id": "f0b7bd6fe173e4f2", "trace_id": "3f6ecb4ef30dd49527db0f5dc53a5f88", "parent_id": "f0b7bd6fe173e4f2", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055509152164, "duration": 5.83504099631682, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "_set", "lineno": 401, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/kombu/utils/functional.py", "filename": "kombu/utils/functional.py", "module": "kombu.utils.functional", "function": "retry_over_time", "lineno": 312, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "ensure", "lineno": 376, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/redis.py", "filename": "celery/backends/redis.py", "module": "celery.backends.redis", "function": "set", "lineno": 392, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "_set_with_state", "lineno": 839, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "_store_result", "lineno": 962, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "store_result", "lineno": 528, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/backends/base.py", "filename": "celery/backends/base.py", "module": "celery.backends.base", "function": "mark_as_done", "lineno": 162, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 518, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"transaction": {"id": "f0b7bd6fe173e4f2", "trace_id": "3f6ecb4ef30dd49527db0f5dc53a5f88", "name": "opbeans.tasks.update_stats", "type": "celery", "duration": 86.28095898893662, "result": "SUCCESS", "timestamp": 1646055509074087, "outcome": "success", "sampled": true, "span_count": {"started": 7, "dropped": 0}, "sample_rate": 1.0, "context": {"custom": {"a": "x", "b": "y"}, "tags": {"a": "x", "b": "y"}}}} +{"span": {"id": "ee9ac01e72841fcc", "transaction_id": "976096e9eca6b3e1", "trace_id": "4ea50dac9f00771c747ec79cf0ba6b9b", "parent_id": "976096e9eca6b3e1", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055509177000, "duration": 25.249458005419, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT SUM(\"total_revenue\"), SUM(\"total_cost\"), SUM(\"total_profit\") FROM (SELECT COUNT(\"opbeans_orderline\".\"order_id\") AS \"order_count\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\") AS \"per_item_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) AS \"total_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"selling_price\") AS \"total_revenue\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"cost\") AS \"total_cost\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) subquery"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "aggregate", "lineno": 399, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 9, "library_frame": false, "pre_context": ["", "def stats():"], "context_line": " numbers = m.Product.objects.annotate(", "post_context": [" order_count=models.Count('order'),", " per_item_profit=models.F('selling_price') - models.F('cost')"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "322f569ca4814c3c", "transaction_id": "976096e9eca6b3e1", "trace_id": "4ea50dac9f00771c747ec79cf0ba6b9b", "parent_id": "976096e9eca6b3e1", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055509206553, "duration": 1.5362499980255961, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_product\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "6ea0423b9891f9e5", "transaction_id": "976096e9eca6b3e1", "trace_id": "4ea50dac9f00771c747ec79cf0ba6b9b", "parent_id": "976096e9eca6b3e1", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055509210341, "duration": 2.3606249887961894, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "c74effd427f822e4", "transaction_id": "976096e9eca6b3e1", "trace_id": "4ea50dac9f00771c747ec79cf0ba6b9b", "parent_id": "976096e9eca6b3e1", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055509214848, "duration": 5.80816698493436, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_order\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 24, "library_frame": false, "pre_context": [" 'products': m.Product.objects.count(),", " 'customers': m.Customer.objects.count(),"], "context_line": " 'orders': m.Order.objects.count(),", "post_context": [" 'numbers': numbers", " }"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "8a20b573b1a3f90b", "transaction_id": "976096e9eca6b3e1", "trace_id": "4ea50dac9f00771c747ec79cf0ba6b9b", "parent_id": "976096e9eca6b3e1", "name": "SET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055509222784, "duration": 3.3000830153468996, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "f7067048336a5108", "transaction_id": "976096e9eca6b3e1", "trace_id": "4ea50dac9f00771c747ec79cf0ba6b9b", "parent_id": "976096e9eca6b3e1", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055509227584, "duration": 1.7839170177467167, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "47d293174c6f1fb7", "transaction_id": "976096e9eca6b3e1", "trace_id": "4ea50dac9f00771c747ec79cf0ba6b9b", "parent_id": "976096e9eca6b3e1", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055509230212, "duration": 2.154832996893674, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"transaction": {"id": "976096e9eca6b3e1", "trace_id": "4ea50dac9f00771c747ec79cf0ba6b9b", "name": "opbeans.tasks.update_stats", "type": "celery", "duration": 65.51079099881463, "result": "SUCCESS", "timestamp": 1646055509168882, "outcome": "success", "sampled": true, "span_count": {"started": 7, "dropped": 0}, "sample_rate": 1.0, "context": {"custom": {"a": "x", "b": "y"}, "tags": {"a": "x", "b": "y"}}}} +{"span": {"id": "110f11796ca4e460", "transaction_id": "fdcd74833d08501e", "trace_id": "25d11568faf087eb6c7fab8e02ed375f", "parent_id": "fdcd74833d08501e", "name": "ES POST /py-orders/_search", "type": "db", "subtype": "elasticsearch", "action": "query", "timestamp": 1646055512088658, "duration": 7.177332998253405, "outcome": "failure", "sample_rate": 1.0, "context": {"db": {"type": "elasticsearch", "statement": "{\"sort\":[{\"_id\":{\"order\":\"desc\"}}],\"from\":0,\"size\":1}"}, "destination": {"address": "http://elasticsearch:9200", "service": {"resource": "elasticsearch", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/elasticsearch_dsl/search.py", "filename": "elasticsearch_dsl/search.py", "module": "elasticsearch_dsl.search", "function": "execute", "lineno": 715, "library_frame": true}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "sync_orders", "lineno": 37, "library_frame": false, "pre_context": [" highest_id = None", " try:"], "context_line": " r = Search(index='py-orders').sort('-_id')[0].execute()", "post_context": [" highest_id = int(r.hits[0].meta.id)", " except TransportError as e:"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "52b28c411279a093", "transaction_id": "fdcd74833d08501e", "trace_id": "25d11568faf087eb6c7fab8e02ed375f", "parent_id": "fdcd74833d08501e", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055512104227, "duration": 1.1099590046796948, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "d1175fc3c2681d75", "transaction_id": "fdcd74833d08501e", "trace_id": "25d11568faf087eb6c7fab8e02ed375f", "parent_id": "fdcd74833d08501e", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055512106258, "duration": 3.6536249972414225, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "55184c95460be9da", "transaction_id": "fdcd74833d08501e", "trace_id": "25d11568faf087eb6c7fab8e02ed375f", "parent_id": "fdcd74833d08501e", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055512133046, "duration": 2.7420420083217323, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "344591bba1f566fc", "transaction_id": "fdcd74833d08501e", "trace_id": "25d11568faf087eb6c7fab8e02ed375f", "parent_id": "fdcd74833d08501e", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055512140376, "duration": 1.2067500210832804, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "1aff59c3926d56ee", "transaction_id": "fdcd74833d08501e", "trace_id": "25d11568faf087eb6c7fab8e02ed375f", "parent_id": "fdcd74833d08501e", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055512146193, "duration": 1.7060409882105887, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "c806e8813577a91c", "transaction_id": "fdcd74833d08501e", "trace_id": "25d11568faf087eb6c7fab8e02ed375f", "parent_id": "fdcd74833d08501e", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055512152007, "duration": 1.2090419768355787, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "7e12a2d5312193d9", "transaction_id": "7b30b878a1203bae", "trace_id": "b9f8c504a8aa23a4ef797ec8fcc90470", "parent_id": "7b30b878a1203bae", "name": "hard-home-work", "type": "code", "subtype": "custom", "action": null, "timestamp": 1646055512754196, "duration": 230.14720898936503, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 308, "library_frame": false, "pre_context": ["", "def home(request):"], "context_line": " with elasticapm.capture_span(\"hard-home-work\"):", "post_context": [" time.sleep(random.random() / 2.0)", " return render(request, \"index.html\")"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "a6dd0c7e078f6551", "transaction_id": "7b30b878a1203bae", "trace_id": "b9f8c504a8aa23a4ef797ec8fcc90470", "parent_id": "7b30b878a1203bae", "name": "index.html", "type": "template", "subtype": "django", "action": "render", "timestamp": 1646055512987593, "duration": 9.470666002016515, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/backends/django.py", "filename": "django/template/backends/django.py", "module": "django.template.backends.django", "function": "render", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/loader.py", "filename": "django/template/loader.py", "module": "django.template.loader", "function": "render_to_string", "lineno": 62, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/shortcuts.py", "filename": "django/shortcuts.py", "module": "django.shortcuts", "function": "render", "lineno": 19, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 310, "library_frame": false, "pre_context": [" with elasticapm.capture_span(\"hard-home-work\"):", " time.sleep(random.random() / 2.0)"], "context_line": " return render(request, \"index.html\")", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "7b30b878a1203bae", "trace_id": "b9f8c504a8aa23a4ef797ec8fcc90470", "name": "GET opbeans.views.home", "type": "request", "duration": 260.6737919850275, "result": "HTTP 2xx", "timestamp": 1646055512746086, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "e1f38311280fc375", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.11", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.11"}, "cookies": {}, "headers": {"host": "opbeans-python:3000", "user-agent": "curl/7.74.0", "accept": "*/*"}, "url": {"full": "http://opbeans-python:3000/", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "text/html; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "871", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 5, "username": "ryan54", "email": "ryan54@harding.org"}, "tags": {"request_id": "316cd0c6-1181-4def-ae3d-451367764f84", "customer_tier": "$$$$"}}}} +{"span": {"id": "e7184ece380f364a", "transaction_id": "5ceca48337aab060", "trace_id": "e4c6889bc49ef605f3c8850e87db3eda", "parent_id": "5ceca48337aab060", "name": "GET opbeans-node:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055514232322, "duration": 45.71766601293348, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-node:3000/api/types", "status_code": 200}, "destination": {"service": {"resource": "opbeans-node:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "5ceca48337aab060", "trace_id": "e4c6889bc49ef605f3c8850e87db3eda", "name": "GET opbeans.views.product_types", "type": "request", "duration": 82.06629200140014, "result": "HTTP 2xx", "timestamp": 1646055514210065, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "f2ebef77e4fea8e9", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "accept": "*/*", "accept-encoding": "gzip, deflate", "elastic-apm-traceparent": "00-e4c6889bc49ef605f3c8850e87db3eda-f2ebef77e4fea8e9-01", "traceparent": "00-e4c6889bc49ef605f3c8850e87db3eda-f2ebef77e4fea8e9-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14"}, "url": {"full": "http://opbeans-go:3000/api/types", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/types", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "112", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 2, "username": "qlopez", "email": "qlopez@galvan-vasquez.net"}, "tags": {"request_id": "9b9650df-a204-49a9-b381-4dd1659cc925", "customer_tier": "$$$$"}}}} +{"span": {"id": "c4cc5bba00fed62e", "transaction_id": "4926bf77fe1efe0a", "trace_id": "f669e52a7687db906d66b548684d379f", "parent_id": "4926bf77fe1efe0a", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055514352237, "duration": 29.485957988072187, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_product\".\"id\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"stock\", SUM(\"opbeans_orderline\".\"amount\") AS \"sold\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\" ORDER BY \"sold\" DESC LIMIT 3"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "results_iter", "lineno": 1130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "top_products", "lineno": 115, "library_frame": false, "pre_context": [" 'id', 'sku', 'name', 'stock', 'sold'", " )[:3]"], "context_line": " return JsonResponse(list(products), safe=False)", "post_context": ["", ""]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 70, "library_frame": false, "pre_context": [" content_type = \"text/plain\"", " return HttpResponse(other_response.content, status=other_response.status_code, content_type=content_type)"], "context_line": " return view_func(request, *args, **kwargs)", "post_context": [" return wraps(view_func)(wrapped_view)", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "4926bf77fe1efe0a", "trace_id": "f669e52a7687db906d66b548684d379f", "name": "GET opbeans.views.top_products", "type": "request", "duration": 77.3455830058083, "result": "HTTP 2xx", "timestamp": 1646055514317788, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "8bf80412c72ae610", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "accept": "*/*", "accept-encoding": "gzip, deflate", "elastic-apm-traceparent": "00-f669e52a7687db906d66b548684d379f-8bf80412c72ae610-01", "traceparent": "00-f669e52a7687db906d66b548684d379f-8bf80412c72ae610-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14, 172.23.0.9"}, "url": {"full": "http://opbeans-go:3000/api/products/top", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/products/top", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "309", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 8, "username": "newmananthony", "email": "newmananthony@jones.net"}, "tags": {"request_id": "4aa340e2-d26d-4fbe-914f-6e70566836c6", "customer_tier": "$$"}}}} +{"span": {"id": "bb554b8106cac870", "transaction_id": "16111f2650848a07", "trace_id": "1d527ccaead30102b7340b7fac3e0fde", "parent_id": "16111f2650848a07", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055514764255, "duration": 1.618625014089048, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_product\".\"id\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_product\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "072897b15890a4e5", "transaction_id": "16111f2650848a07", "trace_id": "1d527ccaead30102b7340b7fac3e0fde", "parent_id": "16111f2650848a07", "name": "SELECT FROM opbeans_producttype", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055514782156, "duration": 1.49666698416695, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_producttype\".\"id\", \"opbeans_producttype\".\"name\" FROM \"opbeans_producttype\" WHERE \"opbeans_producttype\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "16111f2650848a07", "trace_id": "1d527ccaead30102b7340b7fac3e0fde", "name": "GET opbeans.views.products", "type": "request", "duration": 35.01600000890903, "result": "HTTP 2xx", "timestamp": 1646055514752778, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "677f4d9aab86252c", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "accept": "*/*", "accept-encoding": "gzip, deflate", "elastic-apm-traceparent": "00-1d527ccaead30102b7340b7fac3e0fde-677f4d9aab86252c-01", "traceparent": "00-1d527ccaead30102b7340b7fac3e0fde-677f4d9aab86252c-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14"}, "url": {"full": "http://opbeans-go:3000/api/products", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/products", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 2, "username": "qlopez", "email": "qlopez@galvan-vasquez.net"}, "tags": {"request_id": "736e5401-a400-47ed-a01f-7aeb1f486cb9", "customer_tier": "$$$$"}}}} +{"span": {"id": "4a6e931210035e07", "transaction_id": "e435f6c6ff9f5d30", "trace_id": "c2dbf4d59a2e2c4987e7ed6edaf7fa19", "parent_id": "e435f6c6ff9f5d30", "name": "GET opbeans-node:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055515298954, "duration": 46.24941700603813, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-node:3000/api/products/5/customers", "status_code": 200}, "destination": {"service": {"resource": "opbeans-node:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "e435f6c6ff9f5d30", "trace_id": "c2dbf4d59a2e2c4987e7ed6edaf7fa19", "name": "GET opbeans.views.product_customers", "type": "request", "duration": 90.53099999437109, "result": "HTTP 2xx", "timestamp": 1646055515277117, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "e8770db1c239fa0d", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.12", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.12"}, "cookies": {}, "headers": {"connection": "close", "host": "opbeans-python:3000", "user-agent": "http.rb/5.0.4", "traceparent": "00-c2dbf4d59a2e2c4987e7ed6edaf7fa19-e8770db1c239fa0d-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-c2dbf4d59a2e2c4987e7ed6edaf7fa19-e8770db1c239fa0d-01"}, "url": {"full": "http://opbeans-python:3000/api/products/5/customers", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/5/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "2", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 8, "username": "newmananthony", "email": "newmananthony@jones.net"}, "tags": {"request_id": "8eccc005-9ca4-4159-a6bc-4c1b33ccc2af", "customer_tier": "$$"}}}} +{"span": {"id": "ba5662b716a97fca", "transaction_id": "4cd88141f6245356", "trace_id": "c8be2eba215ce0e47dd5c5c5121ec65f", "parent_id": "4cd88141f6245356", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055515525605, "duration": 1.718290994176641, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "9c9f8cdfd3bf8333", "transaction_id": "4cd88141f6245356", "trace_id": "c8be2eba215ce0e47dd5c5c5121ec65f", "parent_id": "4cd88141f6245356", "name": "INSERT INTO opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055515531134, "duration": 4.719332995591685, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "INSERT INTO \"opbeans_order\" (\"customer_id\", \"created_at\") VALUES (%s, %s) RETURNING \"opbeans_order\".\"id\"", "rows_affected": 1}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "ff96eb2e2e746fe8", "transaction_id": "4cd88141f6245356", "trace_id": "c8be2eba215ce0e47dd5c5c5121ec65f", "parent_id": "4cd88141f6245356", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055515539356, "duration": 1.0463339858688414, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_product\".\"id\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_product\" WHERE \"opbeans_product\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "857c1a9a1cb73686", "transaction_id": "4cd88141f6245356", "trace_id": "c8be2eba215ce0e47dd5c5c5121ec65f", "parent_id": "4cd88141f6245356", "name": "INSERT INTO opbeans_orderline", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055515542867, "duration": 2.0640830043703318, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "INSERT INTO \"opbeans_orderline\" (\"order_id\", \"product_id\", \"amount\") VALUES (%s, %s, %s) RETURNING \"opbeans_orderline\".\"id\"", "rows_affected": 1}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "4cd88141f6245356", "trace_id": "c8be2eba215ce0e47dd5c5c5121ec65f", "name": "POST opbeans.views.post_order_csv", "type": "request", "duration": 38.6369579937309, "result": "HTTP 2xx", "timestamp": 1646055515510325, "outcome": "success", "sampled": true, "span_count": {"started": 4, "dropped": 0}, "sample_rate": 1.0, "parent_id": "abf6bf4d646570fa", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "POST", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "content-length": "371", "accept": "*/*", "accept-encoding": "gzip, deflate", "content-type": "multipart/form-data; boundary=55f9749fb25e4fbb964e1edd668a0f11", "elastic-apm-traceparent": "00-c8be2eba215ce0e47dd5c5c5121ec65f-abf6bf4d646570fa-01", "traceparent": "00-c8be2eba215ce0e47dd5c5c5121ec65f-abf6bf4d646570fa-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14"}, "body": "[REDACTED]", "url": {"full": "http://opbeans-go:3000/api/orders/csv", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/orders/csv", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "text/html; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "2", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 18, "username": "patrick89", "email": "patrick89@smith.com"}, "tags": {"request_id": "0438e378-c2ae-4e3e-8674-4350a5ac8311", "customer_tier": "$$$$", "lines_count": 0, "total_amount": 168.0}}}} +{"span": {"id": "6f90690f62c554c3", "transaction_id": "c10089a1830ca325", "trace_id": "6f92a1203acfe474da4c8f13579c8537", "parent_id": "c10089a1830ca325", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055515582309, "duration": 16.22879199567251, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_product\".\"id\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"stock\", SUM(\"opbeans_orderline\".\"amount\") AS \"sold\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\" ORDER BY \"sold\" DESC LIMIT 3"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "results_iter", "lineno": 1130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "top_products", "lineno": 115, "library_frame": false, "pre_context": [" 'id', 'sku', 'name', 'stock', 'sold'", " )[:3]"], "context_line": " return JsonResponse(list(products), safe=False)", "post_context": ["", ""]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 70, "library_frame": false, "pre_context": [" content_type = \"text/plain\"", " return HttpResponse(other_response.content, status=other_response.status_code, content_type=content_type)"], "context_line": " return view_func(request, *args, **kwargs)", "post_context": [" return wraps(view_func)(wrapped_view)", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "c10089a1830ca325", "trace_id": "6f92a1203acfe474da4c8f13579c8537", "name": "GET opbeans.views.top_products", "type": "request", "duration": 34.69308398780413, "result": "HTTP 2xx", "timestamp": 1646055515574499, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "23af1314900f632b", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.10", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.10"}, "cookies": {}, "headers": {"traceparent": "00-6f92a1203acfe474da4c8f13579c8537-23af1314900f632b-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-6f92a1203acfe474da4c8f13579c8537-23af1314900f632b-01", "host": "opbeans-python:3000", "connection": "close"}, "url": {"full": "http://opbeans-python:3000/api/products/top", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/top", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "309", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 17, "username": "jose52", "email": "jose52@barrett.com"}, "tags": {"request_id": "1c322820-6ab8-44b2-81c4-f899524c9f76", "customer_tier": "$"}}}} +{"span": {"id": "61e35a27f7d38dd8", "transaction_id": "9781b95d2fcfd028", "trace_id": "a8e027cba966c3b32e5ddc0411e2fd5d", "parent_id": "9781b95d2fcfd028", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055515699720, "duration": 16.059999994467944, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_product\".\"id\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"stock\", SUM(\"opbeans_orderline\".\"amount\") AS \"sold\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\" ORDER BY \"sold\" DESC LIMIT 3"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "results_iter", "lineno": 1130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "top_products", "lineno": 115, "library_frame": false, "pre_context": [" 'id', 'sku', 'name', 'stock', 'sold'", " )[:3]"], "context_line": " return JsonResponse(list(products), safe=False)", "post_context": ["", ""]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 70, "library_frame": false, "pre_context": [" content_type = \"text/plain\"", " return HttpResponse(other_response.content, status=other_response.status_code, content_type=content_type)"], "context_line": " return view_func(request, *args, **kwargs)", "post_context": [" return wraps(view_func)(wrapped_view)", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "9781b95d2fcfd028", "trace_id": "a8e027cba966c3b32e5ddc0411e2fd5d", "name": "GET opbeans.views.top_products", "type": "request", "duration": 33.58095898875035, "result": "HTTP 2xx", "timestamp": 1646055515687772, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "a16fe806568e4ff5", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.12", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.12"}, "cookies": {}, "headers": {"connection": "close", "host": "opbeans-python:3000", "user-agent": "http.rb/5.0.4", "traceparent": "00-a8e027cba966c3b32e5ddc0411e2fd5d-a16fe806568e4ff5-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-a8e027cba966c3b32e5ddc0411e2fd5d-a16fe806568e4ff5-01"}, "url": {"full": "http://opbeans-python:3000/api/products/top", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/top", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "309", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 7, "username": "aliciarichardson", "email": "aliciarichardson@carter-moore.com"}, "tags": {"request_id": "4878a031-5be9-4586-b229-b416662f5c34", "customer_tier": "$"}}}} +{"span": {"id": "7bd6fce4a7b71754", "transaction_id": "8088946eb8bab2d9", "trace_id": "09273ca90df6ecdfad8985cbe271c065", "parent_id": "8088946eb8bab2d9", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055515791464, "duration": 1.3202499831095338, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 1"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "8088946eb8bab2d9", "trace_id": "09273ca90df6ecdfad8985cbe271c065", "name": "GET opbeans.views.customer", "type": "request", "duration": 14.481207996141165, "result": "HTTP 2xx", "timestamp": 1646055515783455, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "0616ef81ead0861d", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.10", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.10"}, "cookies": {}, "headers": {"traceparent": "00-09273ca90df6ecdfad8985cbe271c065-0616ef81ead0861d-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-09273ca90df6ecdfad8985cbe271c065-0616ef81ead0861d-01", "host": "opbeans-python:3000", "connection": "close"}, "url": {"full": "http://opbeans-python:3000/api/customers/924", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/customers/924", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "206", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 17, "username": "jose52", "email": "jose52@barrett.com"}, "tags": {"request_id": "bb0b1220-5fa4-4bd2-bec9-2843983860e7", "customer_tier": "$"}}}} +{"span": {"id": "0bd10f7ec05cf159", "transaction_id": "3d394e2770cdaa13", "trace_id": "74306e2162d95e62a0ff4d584ff62f21", "parent_id": "3d394e2770cdaa13", "name": "SELECT FROM opbeans_producttype", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516034080, "duration": 1.3717919937334955, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_producttype\".\"id\", \"opbeans_producttype\".\"name\" FROM \"opbeans_producttype\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "3d394e2770cdaa13", "trace_id": "74306e2162d95e62a0ff4d584ff62f21", "name": "GET opbeans.views.product_types", "type": "request", "duration": 48.36691700620577, "result": "HTTP 2xx", "timestamp": 1646055516003325, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "fd912b5b06cb00ce", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "accept": "*/*", "accept-encoding": "gzip, deflate", "elastic-apm-traceparent": "00-74306e2162d95e62a0ff4d584ff62f21-fd912b5b06cb00ce-01", "traceparent": "00-74306e2162d95e62a0ff4d584ff62f21-fd912b5b06cb00ce-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14, 172.23.0.9"}, "url": {"full": "http://opbeans-go:3000/api/types", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/types", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "123", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 12, "username": "matthew21", "email": "matthew21@hernandez-travis.org"}, "tags": {"request_id": "92f2e7ee-8392-407f-84cb-a72ddb02a3a5", "customer_tier": "$"}}}} +{"span": {"id": "8d629254b9206ca0", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "f3532bc1d09fa44b", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516215748, "duration": 2.5855420099105686, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" LIMIT 1000"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "ee179707536314a8", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516293617, "duration": 1.3824579946231097, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "bc785263d9365244", "transaction_id": "0d66d87ab69b5211", "trace_id": "3507e26a72d394f84df5789f6a1af90d", "parent_id": "0d66d87ab69b5211", "name": "SELECT FROM opbeans_producttype", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055510969164, "duration": 3.0403749842662364, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_producttype\".\"id\", \"opbeans_producttype\".\"name\" FROM \"opbeans_producttype\" WHERE \"opbeans_producttype\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "1a363cb44f00cca9", "transaction_id": "0d66d87ab69b5211", "trace_id": "3507e26a72d394f84df5789f6a1af90d", "parent_id": "0d66d87ab69b5211", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055510976794, "duration": 2.0455829799175262, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_product\".\"id\", \"opbeans_product\".\"name\" FROM \"opbeans_product\" WHERE \"opbeans_product\".\"product_type_id\" = %s"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "0d66d87ab69b5211", "trace_id": "3507e26a72d394f84df5789f6a1af90d", "name": "GET opbeans.views.product_type", "type": "request", "duration": 36.141541990218684, "result": "HTTP 2xx", "timestamp": 1646055510949296, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "8a578bac165e1e8a", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.10", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.10"}, "cookies": {}, "headers": {"traceparent": "00-3507e26a72d394f84df5789f6a1af90d-8a578bac165e1e8a-01", "tracestate": "es=s:1", "elastic-apm-traceparent": "00-3507e26a72d394f84df5789f6a1af90d-8a578bac165e1e8a-01", "host": "opbeans-python:3000", "connection": "close"}, "url": {"full": "http://opbeans-python:3000/api/types/3", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/types/3", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "205", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 5, "username": "ryan54", "email": "ryan54@harding.org"}, "tags": {"request_id": "ec2e8ee0-a518-4207-8f4b-b5f98d5c01db", "customer_tier": "$$$$"}}}} +{"span": {"id": "3e87e8ba67613fc3", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "49ac866cf502d8c3", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513556371, "duration": 3.8364999927580357, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" LIMIT 1000"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "391a290c652de70a", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513648729, "duration": 1.7090000037569553, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "063addf758aa1ed5", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513654194, "duration": 1.6161669918801636, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "e84650e5ab38a805", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513660599, "duration": 1.6563340032007545, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "e195cb8f875ef571", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513666081, "duration": 1.341416995273903, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "564cc2176a1ecf53", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513670813, "duration": 1.3538750063162297, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "1dc2226f01c35f68", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513677090, "duration": 2.597124985186383, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "2e15bf68488d101c", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513688552, "duration": 1.5980000025592744, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "e82d7f466d78f409", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513695107, "duration": 2.042250009253621, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "8734d0b75b4ca9cd", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513701375, "duration": 1.8056249828077853, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "829e2c81590a23e4", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513707225, "duration": 8.573125000111759, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "a5dd41ee6cc205c7", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513724188, "duration": 5.0974579935427755, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "0f8eab8defc08bf6", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513736370, "duration": 8.574708015657961, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "f5f8280a0d1e7e33", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513752689, "duration": 4.000374989118427, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "84fe809ebae14b29", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513765057, "duration": 1.5585829969495535, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "5d961e1046a0abaf", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513771407, "duration": 3.36212498950772, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "a9fe56d21d0fe7a5", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513781990, "duration": 1.7252079851459712, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "681670e3ae4efd36", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513789043, "duration": 2.0165830210316926, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "4e8376b66709a773", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513795921, "duration": 3.3682080102153122, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "f53f2fc56e791e9e", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513804344, "duration": 2.3273339902516454, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "72d457de0f3b9420", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513811309, "duration": 2.917000005254522, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "d18b0511b11a3b9f", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513818650, "duration": 2.006666996749118, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "342cdca1c087102f", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513825599, "duration": 4.836625012103468, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "ff6e0f7a60e29035", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513837169, "duration": 1.7076249932870269, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "5dee19cbf5cfc574", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513843969, "duration": 2.432875015074387, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "9a4239d31aa8c4e2", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513851337, "duration": 1.9377080025151372, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "74fa2efa3a40ec9b", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513859678, "duration": 2.9835000168532133, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "9d367cac73fce4be", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513873305, "duration": 2.016957994783297, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "22c83ebe6f834073", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513880259, "duration": 3.907375008566305, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "ead3f46cbd35eb6e", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513895056, "duration": 1.798250013962388, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "e3cdf47486bef009", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513903895, "duration": 1.8854170048143715, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "6aa006ee6ee1421e", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513909830, "duration": 1.9640410027932376, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "39b6a60700d1ffba", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513915993, "duration": 4.438042000401765, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "e3ccef91a8de2e4b", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513924930, "duration": 2.2169580042827874, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "f6b9f996886d09a6", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513931663, "duration": 1.7781250062398612, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "76c0e6837e1773cb", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513938153, "duration": 1.9748330232687294, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "86c5d39b46d1297f", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513946951, "duration": 4.174959001829848, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "d13b265428c8391f", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513956310, "duration": 3.296832990599796, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "778472f4291d897e", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513967372, "duration": 1.6604590055067092, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "c55fb8e2ccb10054", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513973605, "duration": 2.054625016171485, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "249bafe37c342dff", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513980041, "duration": 2.044374996330589, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "1fba1af1efd737bb", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513986927, "duration": 1.8631659913808107, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "177b1899f6b70ec4", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513993772, "duration": 2.2467919916380197, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "dd6a7316e0d3cebc", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055514000328, "duration": 2.1843330177944154, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "48e2c2a7d9f1b588", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055514006516, "duration": 1.8535410054028034, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "bede728a230dd2ce", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055514012669, "duration": 2.2686249867547303, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "1e363d50c239b8c0", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055514019886, "duration": 2.089709014398977, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "5faae8076bc58b00", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055514025780, "duration": 1.1807499977294356, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "0f94054f5cccbe51", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "c29191af13b4ade7", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055514030957, "duration": 1.7467919969931245, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "e1c8a22f1a85920a", "transaction_id": "81f1441206670713", "trace_id": "a9d9c831bc406523262b97a75ceebeaf", "parent_id": "81f1441206670713", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513704168, "duration": 57.16950001078658, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT DISTINCT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" INNER JOIN \"opbeans_order\" ON (\"opbeans_customer\".\"id\" = \"opbeans_order\".\"customer_id\") INNER JOIN \"opbeans_orderline\" ON (\"opbeans_order\".\"id\" = \"opbeans_orderline\".\"order_id\") WHERE \"opbeans_orderline\".\"product_id\" = %s LIMIT 1000"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "results_iter", "lineno": 1130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "product_customers", "lineno": 148, "library_frame": false, "pre_context": [" 'postal_code', 'city', 'country'", " )[:limit]"], "context_line": " return JsonResponse(list(customers_list), safe=False)", "post_context": ["", ""]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 70, "library_frame": false, "pre_context": [" content_type = \"text/plain\"", " return HttpResponse(other_response.content, status=other_response.status_code, content_type=content_type)"], "context_line": " return view_func(request, *args, **kwargs)", "post_context": [" return wraps(view_func)(wrapped_view)", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "81f1441206670713", "trace_id": "a9d9c831bc406523262b97a75ceebeaf", "name": "GET opbeans.views.product_customers", "type": "request", "duration": 135.51529200049117, "result": "HTTP 2xx", "timestamp": 1646055513678284, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "94425d5f098dafca", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.12", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.12"}, "cookies": {}, "headers": {"connection": "close", "host": "opbeans-python:3000", "user-agent": "http.rb/5.0.4", "traceparent": "00-a9d9c831bc406523262b97a75ceebeaf-94425d5f098dafca-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-a9d9c831bc406523262b97a75ceebeaf-94425d5f098dafca-01"}, "url": {"full": "http://opbeans-python:3000/api/products/3/customers", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/3/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "203686", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 17, "username": "jose52", "email": "jose52@barrett.com"}, "tags": {"request_id": "080ecd45-dd90-4b6e-b128-16c2dddfcaad", "customer_tier": "$"}}}} +{"span": {"id": "06f06f82caca0cb6", "transaction_id": "2a6e4e7b1c648edd", "trace_id": "e448e377d72c55cd3347abb31b35d17a", "parent_id": "2a6e4e7b1c648edd", "name": "GET opbeans-go:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055514050764, "duration": 8.014083985472098, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-go:3000/api/products/5", "status_code": 200}, "destination": {"service": {"resource": "opbeans-go:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "2a6e4e7b1c648edd", "trace_id": "e448e377d72c55cd3347abb31b35d17a", "name": "GET opbeans.views.product", "type": "request", "duration": 24.809208000078797, "result": "HTTP 2xx", "timestamp": 1646055514040507, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "275541f20942e6e6", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.12", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.12"}, "cookies": {}, "headers": {"connection": "close", "host": "opbeans-python:3000", "user-agent": "http.rb/5.0.4", "traceparent": "00-e448e377d72c55cd3347abb31b35d17a-275541f20942e6e6-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-e448e377d72c55cd3347abb31b35d17a-275541f20942e6e6-01"}, "url": {"full": "http://opbeans-python:3000/api/products/5", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/5", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "250", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 2, "username": "qlopez", "email": "qlopez@galvan-vasquez.net"}, "tags": {"request_id": "b095a9b9-5fe8-48a1-98e3-b9789ba84f67", "customer_tier": "$$$$"}}}} +{"span": {"id": "57e09f4b94da737b", "transaction_id": "417800ccc76a41cc", "trace_id": "1fba071b3d4b296c8174678db086f09a", "parent_id": "417800ccc76a41cc", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055514346400, "duration": 1.4921659894753247, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 1"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "417800ccc76a41cc", "trace_id": "1fba071b3d4b296c8174678db086f09a", "name": "GET opbeans.views.customer", "type": "request", "duration": 33.201250014826655, "result": "HTTP 2xx", "timestamp": 1646055514324149, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "5bfd104a3ed9d298", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.10", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.10"}, "cookies": {}, "headers": {"traceparent": "00-1fba071b3d4b296c8174678db086f09a-5bfd104a3ed9d298-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-1fba071b3d4b296c8174678db086f09a-5bfd104a3ed9d298-01", "host": "opbeans-python:3000", "connection": "close"}, "url": {"full": "http://opbeans-python:3000/api/customers/91", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/customers/91", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "201", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 17, "username": "jose52", "email": "jose52@barrett.com"}, "tags": {"request_id": "ffabab00-3e1d-4020-8e88-0f1d4e64485b", "customer_tier": "$"}}}} +{"span": {"id": "2950f65a70445d21", "transaction_id": "f52a815923bcde37", "trace_id": "6b9e3be12373293cb49ca533fcff0c50", "parent_id": "f52a815923bcde37", "name": "SELECT FROM opbeans_producttype", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055514477644, "duration": 1.3925829844083637, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_producttype\".\"id\", \"opbeans_producttype\".\"name\" FROM \"opbeans_producttype\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "f52a815923bcde37", "trace_id": "6b9e3be12373293cb49ca533fcff0c50", "name": "GET opbeans.views.product_types", "type": "request", "duration": 30.513500998495147, "result": "HTTP 2xx", "timestamp": 1646055514463346, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "17983116d55180a3", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.10", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.10"}, "cookies": {}, "headers": {"traceparent": "00-6b9e3be12373293cb49ca533fcff0c50-17983116d55180a3-01", "tracestate": "es=s:1", "elastic-apm-traceparent": "00-6b9e3be12373293cb49ca533fcff0c50-17983116d55180a3-01", "host": "opbeans-python:3000", "connection": "close"}, "url": {"full": "http://opbeans-python:3000/api/types", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/types", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "123", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 15, "username": "jeremy19", "email": "jeremy19@perry-west.com"}, "tags": {"request_id": "040d8462-17ba-4377-9638-cdaf63b9e766", "customer_tier": "$"}}}} +{"span": {"id": "03a203a15455340d", "transaction_id": "2662280bb2c2eff1", "trace_id": "5391e50406c3bf68e0159633f91479c4", "parent_id": "2662280bb2c2eff1", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055514560339, "duration": 2.8658749943133444, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "2662280bb2c2eff1", "trace_id": "5391e50406c3bf68e0159633f91479c4", "name": "GET opbeans.views.customers", "type": "request", "duration": 39.183457993203774, "result": "HTTP 2xx", "timestamp": 1646055514554525, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "c24bd10fcfb2227f", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.10", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.10"}, "cookies": {}, "headers": {"traceparent": "00-5391e50406c3bf68e0159633f91479c4-c24bd10fcfb2227f-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-5391e50406c3bf68e0159633f91479c4-c24bd10fcfb2227f-01", "host": "opbeans-python:3000", "connection": "close"}, "url": {"full": "http://opbeans-python:3000/api/customers", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "203686", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 7, "username": "aliciarichardson", "email": "aliciarichardson@carter-moore.com"}, "tags": {"request_id": "85be0b9f-e3f9-4d02-ab12-d5154cb02b42", "customer_tier": "$"}}}} +{"span": {"id": "aa12b8605276ed80", "transaction_id": "92f869d451e2349f", "trace_id": "23d2cc67b7a546fbdae6cb1f588c6197", "parent_id": "92f869d451e2349f", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055514888381, "duration": 1.6872919804882258, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_product\".\"id\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_producttype\".\"name\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_product\" INNER JOIN \"opbeans_producttype\" ON (\"opbeans_product\".\"product_type_id\" = \"opbeans_producttype\".\"id\") WHERE \"opbeans_product\".\"id\" = %s LIMIT 1"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "92f869d451e2349f", "trace_id": "23d2cc67b7a546fbdae6cb1f588c6197", "name": "GET opbeans.views.product", "type": "request", "duration": 24.1634999983944, "result": "HTTP 2xx", "timestamp": 1646055514879234, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "7e7b4bdabd95d272", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.10", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.10"}, "cookies": {}, "headers": {"traceparent": "00-23d2cc67b7a546fbdae6cb1f588c6197-7e7b4bdabd95d272-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-23d2cc67b7a546fbdae6cb1f588c6197-7e7b4bdabd95d272-01", "host": "opbeans-python:3000", "connection": "close"}, "url": {"full": "http://opbeans-python:3000/api/products/2", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/2", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "259", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 20, "username": "danny42", "email": "danny42@greer-wilson.com"}, "tags": {"request_id": "1cf596ad-1b4f-4afb-94a1-2e96e57d2975", "customer_tier": "$$"}}}} +{"span": {"id": "ad598bae0169f3eb", "transaction_id": "7bbfe9fa7526aa2b", "trace_id": "8b83ebbf91c37cefb75ac745f2efd89c", "parent_id": "7bbfe9fa7526aa2b", "name": "GET opbeans-go:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055515121811, "duration": 13.746375014306977, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-go:3000/api/customers", "status_code": 200}, "destination": {"service": {"resource": "opbeans-go:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "7bbfe9fa7526aa2b", "trace_id": "8b83ebbf91c37cefb75ac745f2efd89c", "name": "GET opbeans.views.customers", "type": "request", "duration": 31.72616701340303, "result": "HTTP 2xx", "timestamp": 1646055515110398, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "b03cce85073090b1", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.12", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.12"}, "cookies": {}, "headers": {"connection": "close", "host": "opbeans-python:3000", "user-agent": "http.rb/5.0.4", "traceparent": "00-8b83ebbf91c37cefb75ac745f2efd89c-b03cce85073090b1-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-8b83ebbf91c37cefb75ac745f2efd89c-b03cce85073090b1-01"}, "url": {"full": "http://opbeans-python:3000/api/customers", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "186769", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 17, "username": "jose52", "email": "jose52@barrett.com"}, "tags": {"request_id": "0c9ae369-6665-4ce2-a790-b04ba06b2cec", "customer_tier": "$"}}}} +{"span": {"id": "52610c9a071349ae", "transaction_id": "bb4c5d1813d16d0c", "trace_id": "3cc332f91be3e85dcb7966de70477b04", "parent_id": "bb4c5d1813d16d0c", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055515448299, "duration": 1.9543330126907676, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" WHERE \"opbeans_order\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "482666edd084ac6c", "transaction_id": "bb4c5d1813d16d0c", "trace_id": "3cc332f91be3e85dcb7966de70477b04", "parent_id": "bb4c5d1813d16d0c", "name": "SELECT FROM opbeans_orderline", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055515470749, "duration": 4.639416991267353, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_orderline\".\"product_id\", \"opbeans_orderline\".\"amount\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_orderline\" INNER JOIN \"opbeans_product\" ON (\"opbeans_orderline\".\"product_id\" = \"opbeans_product\".\"id\") WHERE \"opbeans_orderline\".\"order_id\" = %s"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "bb4c5d1813d16d0c", "trace_id": "3cc332f91be3e85dcb7966de70477b04", "name": "GET opbeans.views.order", "type": "request", "duration": 58.12616701587103, "result": "HTTP 2xx", "timestamp": 1646055515427773, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "c6036d3aa47f9fed", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "accept": "*/*", "accept-encoding": "gzip, deflate", "elastic-apm-traceparent": "00-3cc332f91be3e85dcb7966de70477b04-c6036d3aa47f9fed-01", "traceparent": "00-3cc332f91be3e85dcb7966de70477b04-c6036d3aa47f9fed-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14"}, "url": {"full": "http://opbeans-go:3000/api/orders/965", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/orders/965", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "321", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 7, "username": "aliciarichardson", "email": "aliciarichardson@carter-moore.com"}, "tags": {"request_id": "35f8ed21-47b8-4a88-9efb-de78e5d910a4", "customer_tier": "$"}}}} +{"span": {"id": "a0a342688bf53474", "transaction_id": "36d5d5c276aba01c", "trace_id": "5521dcdd211cb5e8feeaa89335cfd5bc", "parent_id": "36d5d5c276aba01c", "name": "GET opbeans-go:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055515597845, "duration": 10.232125001493841, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-go:3000/api/products/5/customers", "status_code": 200}, "destination": {"service": {"resource": "opbeans-go:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "36d5d5c276aba01c", "trace_id": "5521dcdd211cb5e8feeaa89335cfd5bc", "name": "GET opbeans.views.product_customers", "type": "request", "duration": 35.21975001785904, "result": "HTTP 2xx", "timestamp": 1646055515589676, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "ff13bf9770412655", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "accept": "*/*", "accept-encoding": "gzip, deflate", "elastic-apm-traceparent": "00-5521dcdd211cb5e8feeaa89335cfd5bc-ff13bf9770412655-01", "traceparent": "00-5521dcdd211cb5e8feeaa89335cfd5bc-ff13bf9770412655-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14"}, "url": {"full": "http://opbeans-go:3000/api/products/5/customers", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/products/5/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "113114", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 15, "username": "jeremy19", "email": "jeremy19@perry-west.com"}, "tags": {"request_id": "85eda3cd-c6e6-4742-8c80-c0915ff8fccd", "customer_tier": "$"}}}} +{"span": {"id": "2ed5eaaaedacd74f", "transaction_id": "b6de66879fd3de49", "trace_id": "383c6bb3207030155feef26be6f72966", "parent_id": "b6de66879fd3de49", "name": "GET opbeans-ruby:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055516045871, "duration": 274.8942500038538, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-ruby:3000/api/products", "status_code": 200}, "destination": {"service": {"resource": "opbeans-ruby:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "b6de66879fd3de49", "trace_id": "383c6bb3207030155feef26be6f72966", "name": "GET opbeans.views.products", "type": "request", "duration": 316.17095798719674, "result": "HTTP 2xx", "timestamp": 1646055516024187, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "54ce7ae818a93fb4", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.12", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.12"}, "cookies": {}, "headers": {"connection": "close", "host": "opbeans-python:3000", "user-agent": "http.rb/5.0.4", "traceparent": "00-383c6bb3207030155feef26be6f72966-54ce7ae818a93fb4-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-383c6bb3207030155feef26be6f72966-54ce7ae818a93fb4-01"}, "url": {"full": "http://opbeans-python:3000/api/products", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "2926", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 6, "username": "tannermonica", "email": "tannermonica@burton-davis.com"}, "tags": {"request_id": "dad0c393-9fac-4767-b83e-db5d53296af1", "customer_tier": "$$$$"}}}} +{"span": {"id": "9b38d910bc5094d9", "transaction_id": "bc22d97b89b53386", "trace_id": "462e1b36465782d2dfbe3ad7edaecdea", "parent_id": "bc22d97b89b53386", "name": "GET opbeans-node:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055516541545, "duration": 139.19008400989696, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-node:3000/api/types/2", "status_code": 200}, "destination": {"service": {"resource": "opbeans-node:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "bc22d97b89b53386", "trace_id": "462e1b36465782d2dfbe3ad7edaecdea", "name": "GET opbeans.views.product_type", "type": "request", "duration": 170.88525000144728, "result": "HTTP 2xx", "timestamp": 1646055516524098, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "1ffffca7fb97c00b", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.10", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.10"}, "cookies": {}, "headers": {"traceparent": "00-462e1b36465782d2dfbe3ad7edaecdea-1ffffca7fb97c00b-01", "tracestate": "es=s:1", "elastic-apm-traceparent": "00-462e1b36465782d2dfbe3ad7edaecdea-1ffffca7fb97c00b-01", "host": "opbeans-python:3000", "connection": "close"}, "url": {"full": "http://opbeans-python:3000/api/types/2", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/types/2", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "117", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 1, "username": "wendy95", "email": "wendy95@walter-lee.org"}, "tags": {"request_id": "ded27e44-0be8-4350-ad72-59aef5402386", "customer_tier": "$$$$"}}}} +{"transaction": {"id": "fdcd74833d08501e", "trace_id": "25d11568faf087eb6c7fab8e02ed375f", "name": "opbeans.tasks.sync_orders", "type": "celery", "duration": 91.60666700336151, "result": "FAILURE", "timestamp": 1646055512086421, "outcome": "failure", "sampled": true, "span_count": {"started": 7, "dropped": 0}, "sample_rate": 1.0, "context": {"tags": {}}}} +{"span": {"id": "fd686e06609275cb", "transaction_id": "9606016477b12912", "trace_id": "0702ad0218922d52f0de95e24cc5a8e4", "parent_id": "9606016477b12912", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055512635718, "duration": 26.029667002148926, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT SUM(\"total_revenue\"), SUM(\"total_cost\"), SUM(\"total_profit\") FROM (SELECT COUNT(\"opbeans_orderline\".\"order_id\") AS \"order_count\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\") AS \"per_item_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) AS \"total_profit\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"selling_price\") AS \"total_revenue\", (COUNT(\"opbeans_orderline\".\"order_id\") * \"opbeans_product\".\"cost\") AS \"total_cost\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\", (\"opbeans_product\".\"selling_price\" - \"opbeans_product\".\"cost\")) subquery"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "aggregate", "lineno": 399, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 9, "library_frame": false, "pre_context": ["", "def stats():"], "context_line": " numbers = m.Product.objects.annotate(", "post_context": [" order_count=models.Count('order'),", " per_item_profit=models.F('selling_price') - models.F('cost')"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "89108b7c1bf6ed96", "transaction_id": "9606016477b12912", "trace_id": "0702ad0218922d52f0de95e24cc5a8e4", "parent_id": "9606016477b12912", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055512667220, "duration": 4.207957972539589, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_product\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "d3e7b89c5ceba728", "transaction_id": "9606016477b12912", "trace_id": "0702ad0218922d52f0de95e24cc5a8e4", "parent_id": "9606016477b12912", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055512674189, "duration": 2.2708330070599914, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "6f5640f2951ca533", "transaction_id": "9606016477b12912", "trace_id": "0702ad0218922d52f0de95e24cc5a8e4", "parent_id": "9606016477b12912", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055512679019, "duration": 5.291249981382862, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT COUNT(*) AS \"__count\" FROM \"opbeans_order\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_aggregation", "lineno": 504, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", "filename": "django/db/models/sql/query.py", "module": "django.db.models.sql.query", "function": "get_count", "lineno": 519, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "count", "lineno": 412, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/manager.py", "filename": "django/db/models/manager.py", "module": "django.db.models.manager", "function": "manager_method", "lineno": 85, "library_frame": true}, {"abs_path": "/app/opbeans/utils.py", "filename": "opbeans/utils.py", "module": "opbeans.utils", "function": "stats", "lineno": 24, "library_frame": false, "pre_context": [" 'products': m.Product.objects.count(),", " 'customers': m.Customer.objects.count(),"], "context_line": " 'orders': m.Order.objects.count(),", "post_context": [" 'numbers': numbers", " }"]}, {"abs_path": "/app/opbeans/tasks.py", "filename": "opbeans/tasks.py", "module": "opbeans.tasks", "function": "update_stats", "lineno": 22, "library_frame": false, "pre_context": [" elasticapm.label(a=\"x\", b=\"y\")", " elasticapm.set_custom_context({\"a\": \"x\", \"b\": \"y\"})"], "context_line": " cache.set(utils.stats.cache_key, utils.stats(), 60)", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "__protected_call__", "lineno": 734, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "trace_task", "lineno": 451, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/app/trace.py", "filename": "celery/app/trace.py", "module": "celery.app.trace", "function": "fast_trace_task", "lineno": 649, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "workloop", "lineno": 362, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__call__", "lineno": 292, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "run", "lineno": 114, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "_bootstrap", "lineno": 327, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "_launch", "lineno": 79, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/popen_fork.py", "filename": "billiard/popen_fork.py", "module": "billiard.popen_fork", "function": "__init__", "lineno": 24, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/context.py", "filename": "billiard/context.py", "module": "billiard.context", "function": "_Popen", "lineno": 333, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/process.py", "filename": "billiard/process.py", "module": "billiard.process", "function": "start", "lineno": 124, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "_create_worker_process", "lineno": 1158, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "_create_worker_process", "lineno": 480, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/billiard/pool.py", "filename": "billiard/pool.py", "module": "billiard.pool", "function": "__init__", "lineno": 1046, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/asynpool.py", "filename": "celery/concurrency/asynpool.py", "module": "celery.concurrency.asynpool", "function": "__init__", "lineno": 463, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/prefork.py", "filename": "celery/concurrency/prefork.py", "module": "celery.concurrency.prefork", "function": "on_start", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/concurrency/base.py", "filename": "celery/concurrency/base.py", "module": "celery.concurrency.base", "function": "start", "lineno": 129, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 365, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bootsteps.py", "filename": "celery/bootsteps.py", "module": "celery.bootsteps", "function": "start", "lineno": 116, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/worker/worker.py", "filename": "celery/worker/worker.py", "module": "celery.worker.worker", "function": "start", "lineno": 203, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/worker.py", "filename": "celery/bin/worker.py", "module": "celery.bin.worker", "function": "worker", "lineno": 351, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/base.py", "filename": "celery/bin/base.py", "module": "celery.bin.base", "function": "caller", "lineno": 134, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/decorators.py", "filename": "click/decorators.py", "module": "click.decorators", "function": "new_func", "lineno": 26, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 754, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1395, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "invoke", "lineno": 1659, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "main", "lineno": 1053, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/click/core.py", "filename": "click/core.py", "module": "click.core", "function": "__call__", "lineno": 1128, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/bin/celery.py", "filename": "celery/bin/celery.py", "module": "celery.bin.celery", "function": "main", "lineno": 213, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/celery/__main__.py", "filename": "celery/__main__.py", "module": "celery.__main__", "function": "main", "lineno": 15, "library_frame": true}, {"abs_path": "/app/venv/bin/celery", "filename": "bin/celery", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(main())", "post_context": []}]}} +{"span": {"id": "588dd11d9fc39794", "transaction_id": "9606016477b12912", "trace_id": "0702ad0218922d52f0de95e24cc5a8e4", "parent_id": "9606016477b12912", "name": "SET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055512686707, "duration": 2.505124983144924, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "5aab4821702f94f7", "transaction_id": "9606016477b12912", "trace_id": "0702ad0218922d52f0de95e24cc5a8e4", "parent_id": "9606016477b12912", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055512690241, "duration": 1.556790986796841, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "65894f0d5da586ea", "transaction_id": "9606016477b12912", "trace_id": "0702ad0218922d52f0de95e24cc5a8e4", "parent_id": "9606016477b12912", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055512692564, "duration": 1.845667022280395, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"transaction": {"id": "9606016477b12912", "trace_id": "0702ad0218922d52f0de95e24cc5a8e4", "name": "opbeans.tasks.update_stats", "type": "celery", "duration": 83.21887502097525, "result": "SUCCESS", "timestamp": 1646055512613037, "outcome": "success", "sampled": true, "span_count": {"started": 7, "dropped": 0}, "sample_rate": 1.0, "context": {"custom": {"a": "x", "b": "y"}, "tags": {"a": "x", "b": "y"}}}} +{"span": {"id": "4666d72f409ea230", "transaction_id": "84413403f1f9208a", "trace_id": "c916f66545253be3050ad1388fa9902b", "parent_id": "84413403f1f9208a", "name": "GET", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055517668149, "duration": 3.0940000142436475, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "353938e7933b0658", "transaction_id": "84413403f1f9208a", "trace_id": "c916f66545253be3050ad1388fa9902b", "parent_id": "84413403f1f9208a", "name": "Pipeline.execute", "type": "db", "subtype": "redis", "action": "query", "timestamp": 1646055517672999, "duration": 2.368041983572766, "outcome": "success", "sample_rate": 1.0, "context": {"destination": {"port": 6379, "address": "redis", "service": {"resource": "redis", "name": "", "type": ""}}}}} +{"span": {"id": "c69206c1ebb7bb57", "transaction_id": "851402ea08e9dfea", "trace_id": "ff835dd40e830476499e465971e9f3b4", "parent_id": "851402ea08e9dfea", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055512964213, "duration": 2.02695801272057, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" WHERE \"opbeans_order\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "1ec9d65d62146d97", "transaction_id": "851402ea08e9dfea", "trace_id": "ff835dd40e830476499e465971e9f3b4", "parent_id": "851402ea08e9dfea", "name": "SELECT FROM opbeans_orderline", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055512973825, "duration": 1.8017920083366334, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_orderline\".\"product_id\", \"opbeans_orderline\".\"amount\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_orderline\" INNER JOIN \"opbeans_product\" ON (\"opbeans_orderline\".\"product_id\" = \"opbeans_product\".\"id\") WHERE \"opbeans_orderline\".\"order_id\" = %s"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "851402ea08e9dfea", "trace_id": "ff835dd40e830476499e465971e9f3b4", "name": "GET opbeans.views.order", "type": "request", "duration": 21.77412499440834, "result": "HTTP 2xx", "timestamp": 1646055512958817, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "d7766e2b563ea25b", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "http.rb/5.0.4", "elastic-apm-traceparent": "00-ff835dd40e830476499e465971e9f3b4-d7766e2b563ea25b-01", "traceparent": "00-ff835dd40e830476499e465971e9f3b4-d7766e2b563ea25b-01", "tracestate": "es=s:1.0", "x-forwarded-for": "172.23.0.12", "accept-encoding": "gzip"}, "url": {"full": "http://opbeans-go:3000/api/orders/182", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/orders/182", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "312", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 7, "username": "aliciarichardson", "email": "aliciarichardson@carter-moore.com"}, "tags": {"request_id": "dba49cde-e8b1-4297-9468-22ade1ac0f14", "customer_tier": "$"}}}} +{"span": {"id": "c4f5711b83a179a8", "transaction_id": "be891677ef790e87", "trace_id": "2e569f2e743f7414e8a2bd477b413bcb", "parent_id": "be891677ef790e87", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513638074, "duration": 1.9449579995125532, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" WHERE \"opbeans_order\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "be29a9cfd201afb0", "transaction_id": "be891677ef790e87", "trace_id": "2e569f2e743f7414e8a2bd477b413bcb", "parent_id": "be891677ef790e87", "name": "SELECT FROM opbeans_orderline", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055513648755, "duration": 1.3708749902434647, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_orderline\".\"product_id\", \"opbeans_orderline\".\"amount\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_orderline\" INNER JOIN \"opbeans_product\" ON (\"opbeans_orderline\".\"product_id\" = \"opbeans_product\".\"id\") WHERE \"opbeans_orderline\".\"order_id\" = %s"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "be891677ef790e87", "trace_id": "2e569f2e743f7414e8a2bd477b413bcb", "name": "GET opbeans.views.order", "type": "request", "duration": 23.94837499014102, "result": "HTTP 2xx", "timestamp": 1646055513630476, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "3369507dd19c69c1", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "accept": "*/*", "accept-encoding": "gzip, deflate", "elastic-apm-traceparent": "00-2e569f2e743f7414e8a2bd477b413bcb-3369507dd19c69c1-01", "traceparent": "00-2e569f2e743f7414e8a2bd477b413bcb-3369507dd19c69c1-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14"}, "url": {"full": "http://opbeans-go:3000/api/orders/819", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/orders/819", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "322", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 4, "username": "ooneal", "email": "ooneal@barnett.com"}, "tags": {"request_id": "1a11c25a-a14e-4b22-897c-4f60aa57e19b", "customer_tier": "$"}}}} +{"span": {"id": "5e804db250fd64a7", "transaction_id": "bbbc98538cb2b084", "trace_id": "11374722481eb2c95335ebb8f75715b7", "parent_id": "bbbc98538cb2b084", "name": "GET opbeans-ruby:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055513727423, "duration": 79.2612920049578, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-ruby:3000/api/types", "status_code": 200}, "destination": {"service": {"resource": "opbeans-ruby:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "bbbc98538cb2b084", "trace_id": "11374722481eb2c95335ebb8f75715b7", "name": "GET opbeans.views.product_types", "type": "request", "duration": 133.15741697442718, "result": "HTTP 2xx", "timestamp": 1646055513702221, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "d4ae650e2bdab706", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "accept": "*/*", "accept-encoding": "gzip, deflate", "elastic-apm-traceparent": "00-11374722481eb2c95335ebb8f75715b7-d4ae650e2bdab706-01", "traceparent": "00-11374722481eb2c95335ebb8f75715b7-d4ae650e2bdab706-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14"}, "url": {"full": "http://opbeans-go:3000/api/types", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/types", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "112", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 2, "username": "qlopez", "email": "qlopez@galvan-vasquez.net"}, "tags": {"request_id": "3fde5cce-d419-45fe-8b3b-0c03634e2ca5", "customer_tier": "$$$$"}}}} +{"span": {"id": "054dd549e69d50cb", "transaction_id": "344cd64178eb7e00", "trace_id": "7e82b45c4499baadb96330ab249aa12a", "parent_id": "344cd64178eb7e00", "name": "GET opbeans-node:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055515769638, "duration": 115.1602919853758, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-node:3000/api/stats", "status_code": 200}, "destination": {"service": {"resource": "opbeans-node:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "344cd64178eb7e00", "trace_id": "7e82b45c4499baadb96330ab249aa12a", "name": "GET opbeans.views.stats", "type": "request", "duration": 155.81508399918675, "result": "HTTP 2xx", "timestamp": 1646055515758724, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "5d0fc166d602677f", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "accept": "*/*", "accept-encoding": "gzip, deflate", "elastic-apm-traceparent": "00-7e82b45c4499baadb96330ab249aa12a-5d0fc166d602677f-01", "traceparent": "00-7e82b45c4499baadb96330ab249aa12a-5d0fc166d602677f-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14, 172.23.0.9"}, "url": {"full": "http://opbeans-go:3000/api/stats", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/stats", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "108", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 4, "username": "ooneal", "email": "ooneal@barnett.com"}, "tags": {"request_id": "e580db31-9834-4de0-a821-8b1313d68d2b", "customer_tier": "$"}}}} +{"span": {"id": "6548cf3d8b82115d", "transaction_id": "1363727e553389c3", "trace_id": "383c6bb3207030155feef26be6f72966", "parent_id": "1363727e553389c3", "name": "GET opbeans-go:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055516236816, "duration": 41.12420798628591, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-go:3000/api/products", "status_code": 200}, "destination": {"service": {"resource": "opbeans-go:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "1363727e553389c3", "trace_id": "383c6bb3207030155feef26be6f72966", "name": "GET opbeans.views.products", "type": "request", "duration": 61.33729199063964, "result": "HTTP 2xx", "timestamp": 1646055516228102, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "f8fd034b1caf9e25", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.12", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.12"}, "cookies": {}, "headers": {"connection": "close", "host": "opbeans-python:3000", "user-agent": "http.rb/5.0.4", "traceparent": "00-383c6bb3207030155feef26be6f72966-f8fd034b1caf9e25-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-383c6bb3207030155feef26be6f72966-f8fd034b1caf9e25-01"}, "url": {"full": "http://opbeans-python:3000/api/products", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "2926", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 16, "username": "stevensvirginia", "email": "stevensvirginia@white-riggs.com"}, "tags": {"request_id": "ab730d2c-726b-4f0b-b392-e45ca7940352", "customer_tier": "$"}}}} +{"span": {"id": "a5a87c0f58baa09b", "transaction_id": "fadafd36e07ab28c", "trace_id": "8d2b02aef7e84b3f006010b9aeed6139", "parent_id": "fadafd36e07ab28c", "name": "GET opbeans-go:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055517716196, "duration": 84.87987500848249, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-go:3000/api/customers/399", "status_code": 200}, "destination": {"service": {"resource": "opbeans-go:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "fadafd36e07ab28c", "trace_id": "8d2b02aef7e84b3f006010b9aeed6139", "name": "GET opbeans.views.customer", "type": "request", "duration": 114.42304201773368, "result": "HTTP 2xx", "timestamp": 1646055517699801, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "ac509f3a27998162", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.12", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.12"}, "cookies": {}, "headers": {"connection": "close", "host": "opbeans-python:3000", "user-agent": "http.rb/5.0.4", "traceparent": "00-8d2b02aef7e84b3f006010b9aeed6139-ac509f3a27998162-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-8d2b02aef7e84b3f006010b9aeed6139-ac509f3a27998162-01"}, "url": {"full": "http://opbeans-python:3000/api/customers/399", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/customers/399", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "189", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 11, "username": "crystal68", "email": "crystal68@gonzales-horn.info"}, "tags": {"request_id": "56be362d-bc30-417e-89e1-9e8001346268", "customer_tier": "$$"}}}} +{"span": {"id": "49e9eb01243a1588", "transaction_id": "cc41ecba489f1871", "trace_id": "77efe415cc2f7a3726b4fc7188b70081", "parent_id": "cc41ecba489f1871", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055518414218, "duration": 3.4360830031801015, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT DISTINCT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" INNER JOIN \"opbeans_order\" ON (\"opbeans_customer\".\"id\" = \"opbeans_order\".\"customer_id\") INNER JOIN \"opbeans_orderline\" ON (\"opbeans_order\".\"id\" = \"opbeans_orderline\".\"order_id\") WHERE \"opbeans_orderline\".\"product_id\" = %s LIMIT 1000"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "cc41ecba489f1871", "trace_id": "77efe415cc2f7a3726b4fc7188b70081", "name": "GET opbeans.views.product_customers", "type": "request", "duration": 34.32620799867436, "result": "HTTP 2xx", "timestamp": 1646055518395119, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "3e6e951964781089", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.12", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.12"}, "cookies": {}, "headers": {"connection": "close", "host": "opbeans-python:3000", "user-agent": "http.rb/5.0.4", "traceparent": "00-77efe415cc2f7a3726b4fc7188b70081-3e6e951964781089-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-77efe415cc2f7a3726b4fc7188b70081-3e6e951964781089-01"}, "url": {"full": "http://opbeans-python:3000/api/products/5/customers", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/5/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "18528", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 4, "username": "ooneal", "email": "ooneal@barnett.com"}, "tags": {"request_id": "abfd3f47-a2a5-4867-b333-61144aa4737f", "customer_tier": "$"}}}} +{"span": {"id": "669a09f88b39ae66", "transaction_id": "f5b7c981866aebc5", "trace_id": "14442fb97a06856c86fd2cdcdaee6b9e", "parent_id": "f5b7c981866aebc5", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055518762686, "duration": 1.0508749983273447, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" WHERE \"opbeans_order\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "93590f1473105355", "transaction_id": "f5b7c981866aebc5", "trace_id": "14442fb97a06856c86fd2cdcdaee6b9e", "parent_id": "f5b7c981866aebc5", "name": "SELECT FROM opbeans_orderline", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055518772903, "duration": 1.089416997274384, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_orderline\".\"product_id\", \"opbeans_orderline\".\"amount\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_orderline\" INNER JOIN \"opbeans_product\" ON (\"opbeans_orderline\".\"product_id\" = \"opbeans_product\".\"id\") WHERE \"opbeans_orderline\".\"order_id\" = %s"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "f5b7c981866aebc5", "trace_id": "14442fb97a06856c86fd2cdcdaee6b9e", "name": "GET opbeans.views.order", "type": "request", "duration": 42.11733301053755, "result": "HTTP 2xx", "timestamp": 1646055518744659, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "d4535f35851a305c", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.12", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.12"}, "cookies": {}, "headers": {"connection": "close", "host": "opbeans-python:3000", "user-agent": "http.rb/5.0.4", "traceparent": "00-14442fb97a06856c86fd2cdcdaee6b9e-d4535f35851a305c-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-14442fb97a06856c86fd2cdcdaee6b9e-d4535f35851a305c-01"}, "url": {"full": "http://opbeans-python:3000/api/orders/114", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/orders/114", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "330", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 6, "username": "tannermonica", "email": "tannermonica@burton-davis.com"}, "tags": {"request_id": "eda37e8f-338e-4850-a946-6ebdc55edd18", "customer_tier": "$$$$"}}}} +{"span": {"id": "194965a439be24ac", "transaction_id": "c8a95b98dde85f4a", "trace_id": "6b6ef5c9d542ea2ad14a65f2e9daa645", "parent_id": "c8a95b98dde85f4a", "name": "GET opbeans-go:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055519319440, "duration": 703.2797510037199, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-go:3000/api/types/2", "status_code": 200}, "destination": {"service": {"resource": "opbeans-go:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "c8a95b98dde85f4a", "trace_id": "6b6ef5c9d542ea2ad14a65f2e9daa645", "name": "GET opbeans.views.product_type", "type": "request", "duration": 756.9356259773485, "result": "HTTP 2xx", "timestamp": 1646055519287796, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "3923e3d412d858bd", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.12", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.12"}, "cookies": {}, "headers": {"connection": "close", "host": "opbeans-python:3000", "user-agent": "http.rb/5.0.4", "traceparent": "00-6b6ef5c9d542ea2ad14a65f2e9daa645-3923e3d412d858bd-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-6b6ef5c9d542ea2ad14a65f2e9daa645-3923e3d412d858bd-01"}, "url": {"full": "http://opbeans-python:3000/api/types/2", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/types/2", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "117", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 7, "username": "aliciarichardson", "email": "aliciarichardson@carter-moore.com"}, "tags": {"request_id": "65c1657f-ba84-4794-9619-439f830b24bf", "customer_tier": "$"}}}} +{"span": {"id": "6a8bf962ea41d571", "transaction_id": "4c1c0eeebe7bb077", "trace_id": "acc9547e5579efa62a94a5c1f3faae97", "parent_id": "4c1c0eeebe7bb077", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055520052086, "duration": 2.2897919989190996, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" WHERE \"opbeans_order\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "58a38a5a950dc286", "transaction_id": "4c1c0eeebe7bb077", "trace_id": "acc9547e5579efa62a94a5c1f3faae97", "parent_id": "4c1c0eeebe7bb077", "name": "SELECT FROM opbeans_orderline", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055520060411, "duration": 1.2940420128870755, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_orderline\".\"product_id\", \"opbeans_orderline\".\"amount\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_orderline\" INNER JOIN \"opbeans_product\" ON (\"opbeans_orderline\".\"product_id\" = \"opbeans_product\".\"id\") WHERE \"opbeans_orderline\".\"order_id\" = %s"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "4c1c0eeebe7bb077", "trace_id": "acc9547e5579efa62a94a5c1f3faae97", "name": "GET opbeans.views.order", "type": "request", "duration": 26.828792004380375, "result": "HTTP 2xx", "timestamp": 1646055520047206, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "82a62e8875147d82", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.10", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.10"}, "cookies": {}, "headers": {"traceparent": "00-acc9547e5579efa62a94a5c1f3faae97-82a62e8875147d82-01", "tracestate": "es=s:1", "elastic-apm-traceparent": "00-acc9547e5579efa62a94a5c1f3faae97-82a62e8875147d82-01", "host": "opbeans-python:3000", "connection": "close"}, "url": {"full": "http://opbeans-python:3000/api/orders/388", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/orders/388", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "324", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 4, "username": "ooneal", "email": "ooneal@barnett.com"}, "tags": {"request_id": "da2b7c3a-f515-4582-825d-6c2d42e13229", "customer_tier": "$"}}}} +{"span": {"id": "fd17053a8e41b2c5", "transaction_id": "747aba2c116460a7", "trace_id": "ba568aba714e9a804aea7d2bff29e1b4", "parent_id": "747aba2c116460a7", "name": "GET opbeans-ruby:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055520190530, "duration": 71.70408399542794, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-ruby:3000/api/products/6/customers", "status_code": 200}, "destination": {"service": {"resource": "opbeans-ruby:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "747aba2c116460a7", "trace_id": "ba568aba714e9a804aea7d2bff29e1b4", "name": "GET opbeans.views.product_customers", "type": "request", "duration": 109.19837499386631, "result": "HTTP 2xx", "timestamp": 1646055520175201, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "d548c03b63132aad", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.12", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.12"}, "cookies": {}, "headers": {"connection": "close", "host": "opbeans-python:3000", "user-agent": "http.rb/5.0.4", "traceparent": "00-ba568aba714e9a804aea7d2bff29e1b4-d548c03b63132aad-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-ba568aba714e9a804aea7d2bff29e1b4-d548c03b63132aad-01"}, "url": {"full": "http://opbeans-python:3000/api/products/6/customers", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/6/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "1307", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 11, "username": "crystal68", "email": "crystal68@gonzales-horn.info"}, "tags": {"request_id": "042f60d2-3c8f-44af-9428-05b102a448be", "customer_tier": "$$"}}}} +{"span": {"id": "280b75f37c0ea257", "transaction_id": "bd255f8688bfe873", "trace_id": "5fb6699d078fa3c2af5751d8bd1d0fcb", "parent_id": "bd255f8688bfe873", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055520369567, "duration": 11.371291009709239, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "results_iter", "lineno": 1130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "customers", "lineno": 177, "library_frame": false, "pre_context": [" 'postal_code', 'city', 'country'", " )"], "context_line": " return JsonResponse(list(customer_list), safe=False)", "post_context": ["", ""]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 70, "library_frame": false, "pre_context": [" content_type = \"text/plain\"", " return HttpResponse(other_response.content, status=other_response.status_code, content_type=content_type)"], "context_line": " return view_func(request, *args, **kwargs)", "post_context": [" return wraps(view_func)(wrapped_view)", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "bd255f8688bfe873", "trace_id": "5fb6699d078fa3c2af5751d8bd1d0fcb", "name": "GET opbeans.views.customers", "type": "request", "duration": 83.93641700968146, "result": "HTTP 2xx", "timestamp": 1646055520340915, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/customers", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "203686", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 13, "username": "michelle74", "email": "michelle74@barnes.net"}, "tags": {"request_id": "23fd1229-5113-48fd-a5ac-51f0e3cf8e5f", "customer_tier": "$$$"}}}} +{"span": {"id": "c29191af13b4ade7", "transaction_id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "parent_id": "49ac866cf502d8c3", "name": "iterate_orders", "type": "code", "subtype": "custom", "action": null, "timestamp": 1646055513641965, "duration": 6192.755128024146, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 200, "library_frame": false, "pre_context": [" return post_order(request)", " order_list = list(m.Order.objects.all()[:1000])"], "context_line": " with elasticapm.capture_span(\"iterate_orders\"):", "post_context": [" orders = [", " {\"id\": order.id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "49ac866cf502d8c3", "trace_id": "937a3bb02673e3350b7d9af16e4cf77c", "name": "GET opbeans.views.orders", "type": "request", "duration": 6330.942920001689, "result": "HTTP 2xx", "timestamp": 1646055513549133, "outcome": "success", "sampled": true, "span_count": {"started": 50, "dropped": 952}, "dropped_spans_stats": [{"destination_service_resource": "postgresql", "outcome": "success", "duration": {"count": 952, "sum": {"us": 1313899}}}], "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/orders", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/orders", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "108580", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 9, "username": "timothy77", "email": "timothy77@ward.com"}, "tags": {"request_id": "60e0155c-51e3-47ab-bdbf-215ae5cdd0d4", "customer_tier": "$$$$"}}}} +{"span": {"id": "e3d1241e0c03bad1", "transaction_id": "59103540bc340577", "trace_id": "6b6ef5c9d542ea2ad14a65f2e9daa645", "parent_id": "59103540bc340577", "name": "GET opbeans-node:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055519904339, "duration": 67.02783299260773, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-node:3000/api/types/2", "status_code": 200}, "destination": {"service": {"resource": "opbeans-node:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "59103540bc340577", "trace_id": "6b6ef5c9d542ea2ad14a65f2e9daa645", "name": "GET opbeans.views.product_type", "type": "request", "duration": 93.54620799422264, "result": "HTTP 2xx", "timestamp": 1646055519884701, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "e156aa4ab5ca033f", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.10", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.10"}, "cookies": {}, "headers": {"traceparent": "00-6b6ef5c9d542ea2ad14a65f2e9daa645-e156aa4ab5ca033f-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-6b6ef5c9d542ea2ad14a65f2e9daa645-e156aa4ab5ca033f-01", "host": "opbeans-python:3000", "connection": "close"}, "url": {"full": "http://opbeans-python:3000/api/types/2", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/types/2", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "117", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 8, "username": "newmananthony", "email": "newmananthony@jones.net"}, "tags": {"request_id": "b0cadb68-ffeb-4da2-8e6a-407d0c70b2b7", "customer_tier": "$$"}}}} +{"span": {"id": "d9926a5ea6a3828f", "transaction_id": "ebea1561606ce889", "trace_id": "221874a12688764a99dd1732416b7baa", "parent_id": "ebea1561606ce889", "name": "GET opbeans-go:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055519992303, "duration": 11.015459022019058, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-go:3000/api/customers", "status_code": 200}, "destination": {"service": {"resource": "opbeans-go:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "ebea1561606ce889", "trace_id": "221874a12688764a99dd1732416b7baa", "name": "GET opbeans.views.customers", "type": "request", "duration": 30.62116599176079, "result": "HTTP 2xx", "timestamp": 1646055519982104, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/customers", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "186769", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 2, "username": "qlopez", "email": "qlopez@galvan-vasquez.net"}, "tags": {"request_id": "dc8ab851-6a04-4330-a608-c832015d291f", "customer_tier": "$$$$"}}}} +{"span": {"id": "8019eae2370c85ce", "transaction_id": "74eadbf891e091af", "trace_id": "2044ad1ce12ff693ab059d16f892aa6f", "parent_id": "74eadbf891e091af", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055520043055, "duration": 4.88945801043883, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "74eadbf891e091af", "trace_id": "2044ad1ce12ff693ab059d16f892aa6f", "name": "GET opbeans.views.customers", "type": "request", "duration": 43.893041991395876, "result": "HTTP 2xx", "timestamp": 1646055520034241, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/customers", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "203686", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 4, "username": "ooneal", "email": "ooneal@barnett.com"}, "tags": {"request_id": "06f25c9e-0625-464e-8707-833f8d9bd50b", "customer_tier": "$"}}}} +{"span": {"id": "bd52be777dbfeb40", "transaction_id": "2b8842d622358b60", "trace_id": "f5e16a1ece2c2a0c3f235fc7f9e21503", "parent_id": "2b8842d622358b60", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055520108478, "duration": 2.6684589975047857, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "2b8842d622358b60", "trace_id": "f5e16a1ece2c2a0c3f235fc7f9e21503", "name": "GET opbeans.views.customers", "type": "request", "duration": 40.29062500922009, "result": "HTTP 2xx", "timestamp": 1646055520097189, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/customers", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "203686", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 15, "username": "jeremy19", "email": "jeremy19@perry-west.com"}, "tags": {"request_id": "8e277f2b-3a2e-450d-a621-173254781c55", "customer_tier": "$"}}}} +{"span": {"id": "5dbf400b36bb3fa0", "transaction_id": "2b83427d80c9e71a", "trace_id": "8346980d08422627e5439fb69214cf74", "parent_id": "2b83427d80c9e71a", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055520242410, "duration": 8.678166981553659, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "results_iter", "lineno": 1130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "customers", "lineno": 177, "library_frame": false, "pre_context": [" 'postal_code', 'city', 'country'", " )"], "context_line": " return JsonResponse(list(customer_list), safe=False)", "post_context": ["", ""]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 70, "library_frame": false, "pre_context": [" content_type = \"text/plain\"", " return HttpResponse(other_response.content, status=other_response.status_code, content_type=content_type)"], "context_line": " return view_func(request, *args, **kwargs)", "post_context": [" return wraps(view_func)(wrapped_view)", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "2b83427d80c9e71a", "trace_id": "8346980d08422627e5439fb69214cf74", "name": "GET opbeans.views.customers", "type": "request", "duration": 75.13445900985971, "result": "HTTP 2xx", "timestamp": 1646055520230957, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/customers", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "203686", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 4, "username": "ooneal", "email": "ooneal@barnett.com"}, "tags": {"request_id": "4301dfcc-4747-4630-b503-6fcea52b58cf", "customer_tier": "$"}}}} +{"span": {"id": "2f88f7a076c43256", "transaction_id": "368f2893be50795a", "trace_id": "e1c13af1c863ef8927eead4730018a4f", "parent_id": "368f2893be50795a", "name": "SELECT FROM opbeans_producttype", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055520397085, "duration": 1.6037080204114318, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_producttype\".\"id\", \"opbeans_producttype\".\"name\" FROM \"opbeans_producttype\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "368f2893be50795a", "trace_id": "e1c13af1c863ef8927eead4730018a4f", "name": "GET opbeans.views.product_types", "type": "request", "duration": 27.363458008039743, "result": "HTTP 2xx", "timestamp": 1646055520379290, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "0a888849191ace5f", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.12", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.12"}, "cookies": {}, "headers": {"connection": "close", "host": "opbeans-python:3000", "user-agent": "http.rb/5.0.4", "traceparent": "00-e1c13af1c863ef8927eead4730018a4f-0a888849191ace5f-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-e1c13af1c863ef8927eead4730018a4f-0a888849191ace5f-01"}, "url": {"full": "http://opbeans-python:3000/api/types", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/types", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "123", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 1, "username": "wendy95", "email": "wendy95@walter-lee.org"}, "tags": {"request_id": "75c546b2-2fcf-40fe-bb6f-50ed982ba786", "customer_tier": "$$$$"}}}} +{"span": {"id": "db4143a1e0343793", "transaction_id": "978f527542bdc800", "trace_id": "9c9d7e260d5fad29f1865a2b20c9a733", "parent_id": "978f527542bdc800", "name": "GET opbeans-go:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055520511898, "duration": 10.708541987696663, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-go:3000/api/customers", "status_code": 200}, "destination": {"service": {"resource": "opbeans-go:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "978f527542bdc800", "trace_id": "9c9d7e260d5fad29f1865a2b20c9a733", "name": "GET opbeans.views.customers", "type": "request", "duration": 40.61237498535775, "result": "HTTP 2xx", "timestamp": 1646055520502314, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "c2441e01050778fb", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.12", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.12"}, "cookies": {}, "headers": {"connection": "close", "host": "opbeans-python:3000", "user-agent": "http.rb/5.0.4", "traceparent": "00-9c9d7e260d5fad29f1865a2b20c9a733-c2441e01050778fb-01", "tracestate": "es=s:1.0", "elastic-apm-traceparent": "00-9c9d7e260d5fad29f1865a2b20c9a733-c2441e01050778fb-01"}, "url": {"full": "http://opbeans-python:3000/api/customers", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "186769", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 18, "username": "patrick89", "email": "patrick89@smith.com"}, "tags": {"request_id": "f39d2525-842e-46c7-968e-32faf86ef78a", "customer_tier": "$$$$"}}}} +{"span": {"id": "14b794a54e68ddb2", "transaction_id": "e707b37d2871f92f", "trace_id": "eddb4adac596d6c5718ecb406c487e6d", "parent_id": "e707b37d2871f92f", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055520772565, "duration": 1.8998750019818544, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT DISTINCT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" INNER JOIN \"opbeans_order\" ON (\"opbeans_customer\".\"id\" = \"opbeans_order\".\"customer_id\") INNER JOIN \"opbeans_orderline\" ON (\"opbeans_order\".\"id\" = \"opbeans_orderline\".\"order_id\") WHERE \"opbeans_orderline\".\"product_id\" = %s LIMIT 1000"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "e707b37d2871f92f", "trace_id": "eddb4adac596d6c5718ecb406c487e6d", "name": "GET opbeans.views.product_customers", "type": "request", "duration": 22.226708009839058, "result": "HTTP 2xx", "timestamp": 1646055520763454, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/products/4/customers?limit=50", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/4/customers", "port": "3000", "search": "?limit=50"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "14728", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 8, "username": "newmananthony", "email": "newmananthony@jones.net"}, "tags": {"request_id": "a13d9bed-7b83-4b36-a476-09b16970d8e0", "customer_tier": "$$"}}}} +{"span": {"id": "637c88539a03eb82", "transaction_id": "46ca81fcceba3430", "trace_id": "ab82c349e7407f8e06db0ac71bcda40a", "parent_id": "46ca81fcceba3430", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055521032825, "duration": 27.795500005595386, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_product\".\"id\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"stock\", SUM(\"opbeans_orderline\".\"amount\") AS \"sold\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\" ORDER BY \"sold\" DESC LIMIT 3"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "results_iter", "lineno": 1130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "top_products", "lineno": 115, "library_frame": false, "pre_context": [" 'id', 'sku', 'name', 'stock', 'sold'", " )[:3]"], "context_line": " return JsonResponse(list(products), safe=False)", "post_context": ["", ""]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 70, "library_frame": false, "pre_context": [" content_type = \"text/plain\"", " return HttpResponse(other_response.content, status=other_response.status_code, content_type=content_type)"], "context_line": " return view_func(request, *args, **kwargs)", "post_context": [" return wraps(view_func)(wrapped_view)", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "46ca81fcceba3430", "trace_id": "ab82c349e7407f8e06db0ac71bcda40a", "name": "GET opbeans.views.top_products", "type": "request", "duration": 76.9588339899201, "result": "HTTP 2xx", "timestamp": 1646055520996963, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "5c528fd12fa2f8e6", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "elastic-apm-traceparent": "00-ab82c349e7407f8e06db0ac71bcda40a-5c528fd12fa2f8e6-01", "traceparent": "00-ab82c349e7407f8e06db0ac71bcda40a-5c528fd12fa2f8e6-01", "tracestate": "es=s:1.0", "x-forwarded-for": "172.23.0.10", "accept-encoding": "gzip"}, "url": {"full": "http://opbeans-go:3000/api/products/top", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/products/top", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "309", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 15, "username": "jeremy19", "email": "jeremy19@perry-west.com"}, "tags": {"request_id": "eb13fe8e-5e6e-4516-bfa8-916a0916da9a", "customer_tier": "$"}}}} +{"span": {"id": "9a39464f14f63b37", "transaction_id": "ef4adf81bd85c28d", "trace_id": "52cc8da4b6c73bc469caeeae5bd4fa75", "parent_id": "ef4adf81bd85c28d", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055521480056, "duration": 1.7129580082837492, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 1"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "ef4adf81bd85c28d", "trace_id": "52cc8da4b6c73bc469caeeae5bd4fa75", "name": "GET opbeans.views.customer", "type": "request", "duration": 27.454875002149493, "result": "HTTP 2xx", "timestamp": 1646055521466957, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/customers/855", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/customers/855", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "198", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 1, "username": "wendy95", "email": "wendy95@walter-lee.org"}, "tags": {"request_id": "8df98fc9-aaa5-438a-a284-d3f8e4198dae", "customer_tier": "$$$$"}}}} +{"span": {"id": "6c12741376f3e5a7", "transaction_id": "c38fa472da574930", "trace_id": "2a87ad925f6dbea029fc5414926b3e54", "parent_id": "c38fa472da574930", "name": "GET opbeans-node:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055521535610, "duration": 146.15058299386874, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-node:3000/api/products/3", "status_code": 200}, "destination": {"service": {"resource": "opbeans-node:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "c38fa472da574930", "trace_id": "2a87ad925f6dbea029fc5414926b3e54", "name": "GET opbeans.views.product", "type": "request", "duration": 194.58608300192282, "result": "HTTP 2xx", "timestamp": 1646055521512320, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/products/3", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/3", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "248", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 9, "username": "timothy77", "email": "timothy77@ward.com"}, "tags": {"request_id": "6a036217-3dd8-429e-ab73-d96751a762c9", "customer_tier": "$$$$"}}}} +{"span": {"id": "9914b914c48ac093", "transaction_id": "9bf3de2278ac8f20", "trace_id": "5b259030edd861168e1b197707dca34a", "parent_id": "9bf3de2278ac8f20", "name": "GET opbeans-node:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055521749577, "duration": 132.97658300143667, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-node:3000/api/products", "status_code": 200}, "destination": {"service": {"resource": "opbeans-node:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "9bf3de2278ac8f20", "trace_id": "5b259030edd861168e1b197707dca34a", "name": "GET opbeans.views.products", "type": "request", "duration": 190.53387502208352, "result": "HTTP 2xx", "timestamp": 1646055521726504, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/products", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "1023", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 4, "username": "ooneal", "email": "ooneal@barnett.com"}, "tags": {"request_id": "85ca8b47-b4fa-4bf0-b63e-e5b647e12e7e", "customer_tier": "$"}}}} +{"span": {"id": "a7b4eeee710a9f79", "transaction_id": "0162d7e01c87b8be", "trace_id": "c642b12a5436af1dfeb8625121b28fd0", "parent_id": "0162d7e01c87b8be", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055522003955, "duration": 17.612791009014472, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_product\".\"id\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"stock\", SUM(\"opbeans_orderline\".\"amount\") AS \"sold\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\" ORDER BY \"sold\" DESC LIMIT 3"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "results_iter", "lineno": 1130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "top_products", "lineno": 115, "library_frame": false, "pre_context": [" 'id', 'sku', 'name', 'stock', 'sold'", " )[:3]"], "context_line": " return JsonResponse(list(products), safe=False)", "post_context": ["", ""]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 70, "library_frame": false, "pre_context": [" content_type = \"text/plain\"", " return HttpResponse(other_response.content, status=other_response.status_code, content_type=content_type)"], "context_line": " return view_func(request, *args, **kwargs)", "post_context": [" return wraps(view_func)(wrapped_view)", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "0162d7e01c87b8be", "trace_id": "c642b12a5436af1dfeb8625121b28fd0", "name": "GET opbeans.views.top_products", "type": "request", "duration": 61.45854099304415, "result": "HTTP 2xx", "timestamp": 1646055521970147, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "eb122bbb45af7078", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "elastic-apm-traceparent": "00-c642b12a5436af1dfeb8625121b28fd0-eb122bbb45af7078-01", "traceparent": "00-c642b12a5436af1dfeb8625121b28fd0-eb122bbb45af7078-01", "tracestate": "es=s:1.0", "x-forwarded-for": "172.23.0.10", "accept-encoding": "gzip"}, "url": {"full": "http://opbeans-go:3000/api/products/top", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/products/top", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "309", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 7, "username": "aliciarichardson", "email": "aliciarichardson@carter-moore.com"}, "tags": {"request_id": "eda5b7af-8091-499a-a412-0b183f68de89", "customer_tier": "$"}}}} +{"span": {"id": "b3798a143d0031a1", "transaction_id": "18708601586e2e52", "trace_id": "8b8d498dfea2dd899fcc25aab990b082", "parent_id": "18708601586e2e52", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055522065268, "duration": 1.1297919845674187, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" WHERE \"opbeans_order\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "1ae482d354b08995", "transaction_id": "18708601586e2e52", "trace_id": "8b8d498dfea2dd899fcc25aab990b082", "parent_id": "18708601586e2e52", "name": "SELECT FROM opbeans_orderline", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055522072446, "duration": 1.1802089866250753, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_orderline\".\"product_id\", \"opbeans_orderline\".\"amount\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_orderline\" INNER JOIN \"opbeans_product\" ON (\"opbeans_orderline\".\"product_id\" = \"opbeans_product\".\"id\") WHERE \"opbeans_orderline\".\"order_id\" = %s"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "18708601586e2e52", "trace_id": "8b8d498dfea2dd899fcc25aab990b082", "name": "GET opbeans.views.order", "type": "request", "duration": 24.442499998258427, "result": "HTTP 2xx", "timestamp": 1646055522053341, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/orders/250", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/orders/250", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "322", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 11, "username": "crystal68", "email": "crystal68@gonzales-horn.info"}, "tags": {"request_id": "39ea22c7-767d-41e9-98aa-dc94c701668d", "customer_tier": "$$"}}}} +{"span": {"id": "3b6bcfda479d35f9", "transaction_id": "e80d8b23af53e581", "trace_id": "61f6c446cc90ac950e4737c9017c492f", "parent_id": "e80d8b23af53e581", "name": "hard-home-work", "type": "code", "subtype": "custom", "action": null, "timestamp": 1646055522101070, "duration": 206.8684590049088, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 308, "library_frame": false, "pre_context": ["", "def home(request):"], "context_line": " with elasticapm.capture_span(\"hard-home-work\"):", "post_context": [" time.sleep(random.random() / 2.0)", " return render(request, \"index.html\")"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "a902ce55740ece83", "transaction_id": "e80d8b23af53e581", "trace_id": "61f6c446cc90ac950e4737c9017c492f", "parent_id": "e80d8b23af53e581", "name": "index.html", "type": "template", "subtype": "django", "action": "render", "timestamp": 1646055522312347, "duration": 4.43150001228787, "outcome": "success", "sample_rate": 1.0}} +{"transaction": {"id": "e80d8b23af53e581", "trace_id": "61f6c446cc90ac950e4737c9017c492f", "name": "GET opbeans.views.home", "type": "request", "duration": 227.05583399510942, "result": "HTTP 2xx", "timestamp": 1646055522098281, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "d70cc14eaf2162c6", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "text/html; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "871", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 15, "username": "jeremy19", "email": "jeremy19@perry-west.com"}, "tags": {"request_id": "de6f5f66-8b56-4d75-8a66-f4a1b7539d97", "customer_tier": "$"}}}} +{"span": {"id": "d355ac786ecba74c", "transaction_id": "54667f281a2f64fe", "trace_id": "da2d45c8f97fc2b47bf42d09b1a6312c", "parent_id": "54667f281a2f64fe", "name": "GET opbeans-go:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055522362125, "duration": 8.242375013651326, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-go:3000/api/types/3", "status_code": 200}, "destination": {"service": {"resource": "opbeans-go:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "54667f281a2f64fe", "trace_id": "da2d45c8f97fc2b47bf42d09b1a6312c", "name": "GET opbeans.views.product_type", "type": "request", "duration": 32.89083400159143, "result": "HTTP 2xx", "timestamp": 1646055522345738, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/types/3", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/types/3", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "35", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 8, "username": "newmananthony", "email": "newmananthony@jones.net"}, "tags": {"request_id": "da7d4fa0-deb1-4daa-a44f-3d9e68fdf75d", "customer_tier": "$$"}}}} +{"span": {"id": "64cfd0cf7a9afdb3", "transaction_id": "15be1d8f61b696cf", "trace_id": "c90c1afdb2245af01c627efc813248a7", "parent_id": "15be1d8f61b696cf", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055522401165, "duration": 1.1306249944027513, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_product\".\"id\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_product\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "eec624775240ba94", "transaction_id": "15be1d8f61b696cf", "trace_id": "c90c1afdb2245af01c627efc813248a7", "parent_id": "15be1d8f61b696cf", "name": "SELECT FROM opbeans_producttype", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055522408222, "duration": 0.9759580134414136, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_producttype\".\"id\", \"opbeans_producttype\".\"name\" FROM \"opbeans_producttype\" WHERE \"opbeans_producttype\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "15be1d8f61b696cf", "trace_id": "c90c1afdb2245af01c627efc813248a7", "name": "GET opbeans.views.products", "type": "request", "duration": 18.73437498579733, "result": "HTTP 2xx", "timestamp": 1646055522395725, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/products", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 7, "username": "aliciarichardson", "email": "aliciarichardson@carter-moore.com"}, "tags": {"request_id": "04fb8a61-bbfa-4bef-a1a4-ca24f47c8a5a", "customer_tier": "$"}}}} +{"span": {"id": "cb381537b22c3f91", "transaction_id": "ed5b546aa0076c27", "trace_id": "f36ae65fca3b901f27648658604e5fe5", "parent_id": "ed5b546aa0076c27", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055522435783, "duration": 2.5320419808849692, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "ed5b546aa0076c27", "trace_id": "f36ae65fca3b901f27648658604e5fe5", "name": "GET opbeans.views.customers", "type": "request", "duration": 36.45283399964683, "result": "HTTP 2xx", "timestamp": 1646055522430229, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/customers", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "203686", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 8, "username": "newmananthony", "email": "newmananthony@jones.net"}, "tags": {"request_id": "036fa1a2-221c-4f4c-b75b-09c12793db6d", "customer_tier": "$$"}}}} +{"span": {"id": "edb03080775c4f85", "transaction_id": "ee028badcae6b0d9", "trace_id": "654b865f6cc60324e9eb50b0f883c56c", "parent_id": "ee028badcae6b0d9", "name": "hard-home-work", "type": "code", "subtype": "custom", "action": null, "timestamp": 1646055522489851, "duration": 246.87254198943265, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 308, "library_frame": false, "pre_context": ["", "def home(request):"], "context_line": " with elasticapm.capture_span(\"hard-home-work\"):", "post_context": [" time.sleep(random.random() / 2.0)", " return render(request, \"index.html\")"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "679a76be7243d17f", "transaction_id": "ee028badcae6b0d9", "trace_id": "654b865f6cc60324e9eb50b0f883c56c", "parent_id": "ee028badcae6b0d9", "name": "index.html", "type": "template", "subtype": "django", "action": "render", "timestamp": 1646055522739243, "duration": 3.655999986222014, "outcome": "success", "sample_rate": 1.0}} +{"transaction": {"id": "ee028badcae6b0d9", "trace_id": "654b865f6cc60324e9eb50b0f883c56c", "name": "GET opbeans.views.home", "type": "request", "duration": 258.91829197644256, "result": "HTTP 2xx", "timestamp": 1646055522487168, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "c3b7a8af659993db", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "text/html; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "871", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 9, "username": "timothy77", "email": "timothy77@ward.com"}, "tags": {"request_id": "6067bea0-0eef-4833-bade-4e29e74b3962", "customer_tier": "$$$$"}}}} +{"transaction": {"id": "1a0e84b2a88f2882", "trace_id": "d6e42c7d3a9b73f3d3397943053a29c4", "name": "GET opbeans.views.oopsie", "type": "request", "duration": 107.0563750108704, "result": "HTTP 5xx", "timestamp": 1646055522916026, "outcome": "failure", "sampled": true, "span_count": {"started": 0, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/oopsie", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/oopsie", "port": "3000"}}, "response": {"status_code": 500, "headers": {"Content-Type": "text/html", "X-Frame-Options": "DENY", "Content-Length": "145", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 12, "username": "matthew21", "email": "matthew21@hernandez-travis.org"}, "tags": {"request_id": "9f1a6205-b0c5-45e4-8bb1-21115149c3ec", "customer_tier": "$"}}}} +{"span": {"id": "1981afd7c355ff77", "transaction_id": "87ccfe5cdacf89ab", "trace_id": "90cc1a3ef8ce75787b8905d8020573ea", "parent_id": "87ccfe5cdacf89ab", "name": "hard-home-work", "type": "code", "subtype": "custom", "action": null, "timestamp": 1646055523238967, "duration": 175.70766698918305, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 308, "library_frame": false, "pre_context": ["", "def home(request):"], "context_line": " with elasticapm.capture_span(\"hard-home-work\"):", "post_context": [" time.sleep(random.random() / 2.0)", " return render(request, \"index.html\")"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "f0ff807a4b09b77f", "transaction_id": "87ccfe5cdacf89ab", "trace_id": "90cc1a3ef8ce75787b8905d8020573ea", "parent_id": "87ccfe5cdacf89ab", "name": "index.html", "type": "template", "subtype": "django", "action": "render", "timestamp": 1646055523418625, "duration": 5.995458021061495, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/backends/django.py", "filename": "django/template/backends/django.py", "module": "django.template.backends.django", "function": "render", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/loader.py", "filename": "django/template/loader.py", "module": "django.template.loader", "function": "render_to_string", "lineno": 62, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/shortcuts.py", "filename": "django/shortcuts.py", "module": "django.shortcuts", "function": "render", "lineno": 19, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 310, "library_frame": false, "pre_context": [" with elasticapm.capture_span(\"hard-home-work\"):", " time.sleep(random.random() / 2.0)"], "context_line": " return render(request, \"index.html\")", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "87ccfe5cdacf89ab", "trace_id": "90cc1a3ef8ce75787b8905d8020573ea", "name": "GET opbeans.views.home", "type": "request", "duration": 215.26362502481788, "result": "HTTP 2xx", "timestamp": 1646055523236155, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "a58d18648e18151d", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.11", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.11"}, "cookies": {}, "headers": {"host": "opbeans-python:3000", "user-agent": "curl/7.74.0", "accept": "*/*"}, "url": {"full": "http://opbeans-python:3000/", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "text/html; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "871", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 7, "username": "aliciarichardson", "email": "aliciarichardson@carter-moore.com"}, "tags": {"request_id": "21bc0881-0eb8-437e-a41d-b1b302250571", "customer_tier": "$"}}}} +{"span": {"id": "59cfe1f24459d7bb", "transaction_id": "05f0642bf3b33f73", "trace_id": "e27f2915943739929738a223f96d83e6", "parent_id": "05f0642bf3b33f73", "name": "GET opbeans-node:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055523869214, "duration": 23.54091699817218, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-node:3000/api/types", "status_code": 200}, "destination": {"service": {"resource": "opbeans-node:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "05f0642bf3b33f73", "trace_id": "e27f2915943739929738a223f96d83e6", "name": "GET opbeans.views.product_types", "type": "request", "duration": 39.86054201959632, "result": "HTTP 2xx", "timestamp": 1646055523860950, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "f58d2095521c64fb", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "accept": "*/*", "accept-encoding": "gzip, deflate", "elastic-apm-traceparent": "00-e27f2915943739929738a223f96d83e6-f58d2095521c64fb-01", "traceparent": "00-e27f2915943739929738a223f96d83e6-f58d2095521c64fb-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14"}, "url": {"full": "http://opbeans-go:3000/api/types", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/types", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "112", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 19, "username": "michael18", "email": "michael18@cross.com"}, "tags": {"request_id": "4cd1926f-18e1-4e50-ba1a-318a87ca1606", "customer_tier": "$"}}}} +{"span": {"id": "677e123b2e30d2f9", "transaction_id": "3cf65311304d141b", "trace_id": "db4c4df8e87ecbd75073399789db915d", "parent_id": "3cf65311304d141b", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055523943152, "duration": 29.889334022300318, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_product\".\"id\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"stock\", SUM(\"opbeans_orderline\".\"amount\") AS \"sold\" FROM \"opbeans_product\" LEFT OUTER JOIN \"opbeans_orderline\" ON (\"opbeans_product\".\"id\" = \"opbeans_orderline\".\"product_id\") GROUP BY \"opbeans_product\".\"id\" ORDER BY \"sold\" DESC LIMIT 3"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "results_iter", "lineno": 1130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 109, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "top_products", "lineno": 115, "library_frame": false, "pre_context": [" 'id', 'sku', 'name', 'stock', 'sold'", " )[:3]"], "context_line": " return JsonResponse(list(products), safe=False)", "post_context": ["", ""]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 70, "library_frame": false, "pre_context": [" content_type = \"text/plain\"", " return HttpResponse(other_response.content, status=other_response.status_code, content_type=content_type)"], "context_line": " return view_func(request, *args, **kwargs)", "post_context": [" return wraps(view_func)(wrapped_view)", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "3cf65311304d141b", "trace_id": "db4c4df8e87ecbd75073399789db915d", "name": "GET opbeans.views.top_products", "type": "request", "duration": 64.4109999993816, "result": "HTTP 2xx", "timestamp": 1646055523933896, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "798204d6f922c608", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.10", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.10"}, "cookies": {}, "headers": {"traceparent": "00-db4c4df8e87ecbd75073399789db915d-798204d6f922c608-01", "tracestate": "es=s:1", "elastic-apm-traceparent": "00-db4c4df8e87ecbd75073399789db915d-798204d6f922c608-01", "host": "opbeans-python:3000", "connection": "close"}, "url": {"full": "http://opbeans-python:3000/api/products/top", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/top", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "309", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 6, "username": "tannermonica", "email": "tannermonica@burton-davis.com"}, "tags": {"request_id": "17bea4ed-ba54-4fa5-8e43-2548a6d2a6ae", "customer_tier": "$$$$"}}}} +{"span": {"id": "5bfa31a9d5ddfa7c", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516298903, "duration": 7.767665985738859, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "1531d369de46ec83", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516318976, "duration": 1.791042013792321, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "feb2f55f57a34b25", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516325669, "duration": 12.682708009378985, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "d7aca1341b779d12", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516345911, "duration": 3.124417009530589, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "304adcd5c617924e", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516352408, "duration": 1.2169170076958835, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "4c02696025e61905", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516356643, "duration": 1.2295830238144845, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "451e4b31e7197429", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516363035, "duration": 3.9169169904198498, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "018ceb0b9fe8ef91", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516372002, "duration": 2.290792006533593, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "c1d13133e1892b7c", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516379420, "duration": 3.5302079922985286, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "4fb13f84ad05b4cb", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516387540, "duration": 2.1050000214017928, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "4884fd48a88b7cc5", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516395978, "duration": 1.0633330093696713, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "91df3eb94d47bb63", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516400293, "duration": 1.3151669991202652, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "beb34d126e654b71", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516404564, "duration": 1.1004169937223196, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "2758590f364b62f0", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516408982, "duration": 1.6665830044075847, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "dafca6b68111706f", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516416978, "duration": 2.6304999773856252, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "1561f4840f21f061", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516427018, "duration": 1.6434999997727573, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "08e8c8597abb0308", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516437329, "duration": 1.6497079923283309, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "79b6fa9d254bb6e5", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516444072, "duration": 4.207166988635436, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "e43dc85fb682d2d5", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516455888, "duration": 1.93425000179559, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "588c4c335a5222c2", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516464019, "duration": 2.2894589928910136, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "3bc2d4a65847613c", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516471282, "duration": 2.327416994376108, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "22a09a45e9912c2e", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516480253, "duration": 3.627792000770569, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "65644e3be8f82b61", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516488737, "duration": 2.6217499980702996, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "82a5dcc70c354b0a", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516500598, "duration": 2.521040994906798, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "58eb56db6f5b7903", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516511347, "duration": 8.628791983937845, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "017eec8e2c08d479", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516532873, "duration": 1.9394999835640192, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "1066a1ab69b16195", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516541280, "duration": 8.35212500533089, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "0e71e948f37c8401", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516561280, "duration": 2.678707998711616, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "3fc7495fb8d9b096", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516569895, "duration": 1.9744169840123504, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "5b22ac4e7e1f7481", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516577416, "duration": 3.9361249946523458, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "bb02456edad80c14", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516588663, "duration": 4.750041000079364, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "f1d3a5554afb3ef3", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516607799, "duration": 1.9709999905899167, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "0a91f061f1c429b6", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516617130, "duration": 7.3202500061597675, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "37a1dce49f9dd49d", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516634913, "duration": 3.764416993362829, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "51d820cd750b7f30", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516655376, "duration": 2.4306660052388906, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "1f320f6bdc4f39b9", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516664325, "duration": 2.4919160059653223, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "9617cd37a1e620c5", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516670634, "duration": 1.5593330026604235, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "544e0b0b1d5f4f54", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516692850, "duration": 5.459791980683804, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "a48af9c908e22578", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516710275, "duration": 1.6347089840564877, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "d6e7c416ded68bde", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516731019, "duration": 2.4139579909387976, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "c066ff143de41e65", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516756237, "duration": 11.009916983311996, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "53595cf8866192b2", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516793403, "duration": 1.5497909917030483, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "4153e2a632d952d7", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516803172, "duration": 2.0842920057475567, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "f436b44b0b5356b7", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516811183, "duration": 1.8832909991033375, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "0b8af240908552ef", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516817313, "duration": 6.505540979560465, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "_execute_with_wrappers", "lineno": 75, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/backends/utils.py", "filename": "django/db/backends/utils.py", "module": "django.db.backends.utils", "function": "execute", "lineno": 66, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", "filename": "django/db/models/sql/compiler.py", "module": "django.db.models.sql.compiler", "function": "execute_sql", "lineno": 1175, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__iter__", "lineno": 51, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "_fetch_all", "lineno": 1324, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "__len__", "lineno": 262, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/query.py", "filename": "django/db/models/query.py", "module": "django.db.models.query", "function": "get", "lineno": 431, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "get_object", "lineno": 154, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", "filename": "django/db/models/fields/related_descriptors.py", "module": "django.db.models.fields.related_descriptors", "function": "__get__", "lineno": 187, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "", "lineno": 204, "library_frame": false, "pre_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"], "context_line": " \"customer_name\": order.customer.full_name,", "post_context": [" \"created_at\": order.created_at", " } for order in order_list"]}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 201, "library_frame": false, "pre_context": [" order_list = list(m.Order.objects.all()[:1000])", " with elasticapm.capture_span(\"iterate_orders\"):"], "context_line": " orders = [", "post_context": [" {\"id\": order.id,", " \"customer_id\": order.customer_id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "8b1203f3c7c88d76", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516830169, "duration": 4.234833002556115, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "46eb5d22e412a341", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "9dc3132205de42c5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055516841766, "duration": 1.1815000034403056, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "9dc3132205de42c5", "transaction_id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "parent_id": "f3532bc1d09fa44b", "name": "iterate_orders", "type": "code", "subtype": "custom", "action": null, "timestamp": 1646055516289908, "duration": 6175.075044011464, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "orders", "lineno": 200, "library_frame": false, "pre_context": [" return post_order(request)", " order_list = list(m.Order.objects.all()[:1000])"], "context_line": " with elasticapm.capture_span(\"iterate_orders\"):", "post_context": [" orders = [", " {\"id\": order.id,"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", "filename": "django/views/decorators/csrf.py", "module": "django.views.decorators.csrf", "function": "wrapped_view", "lineno": 54, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "f3532bc1d09fa44b", "trace_id": "22e5413c28c0577fc578639315b8b7f5", "name": "GET opbeans.views.orders", "type": "request", "duration": 6319.648628006689, "result": "HTTP 2xx", "timestamp": 1646055516208978, "outcome": "success", "sampled": true, "span_count": {"started": 50, "dropped": 952}, "dropped_spans_stats": [{"destination_service_resource": "postgresql", "outcome": "success", "duration": {"count": 952, "sum": {"us": 1142578}}}], "sample_rate": 1.0, "parent_id": "766892fa6cd92a20", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "accept": "*/*", "accept-encoding": "gzip, deflate", "elastic-apm-traceparent": "00-22e5413c28c0577fc578639315b8b7f5-766892fa6cd92a20-01", "traceparent": "00-22e5413c28c0577fc578639315b8b7f5-766892fa6cd92a20-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14"}, "url": {"full": "http://opbeans-go:3000/api/orders", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/orders", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "108580", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 20, "username": "danny42", "email": "danny42@greer-wilson.com"}, "tags": {"request_id": "550bad86-717f-4c39-ac19-af5a01dfb121", "customer_tier": "$$"}}}} +{"span": {"id": "bf164b6d2606d09b", "transaction_id": "f8b2d8d9e97029a2", "trace_id": "723c6bd8bf2cdc91d20dc3713952bec2", "parent_id": "f8b2d8d9e97029a2", "name": "GET opbeans-node:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055522638084, "duration": 55.78170801163651, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-node:3000/api/products/2/customers", "status_code": 200}, "destination": {"service": {"resource": "opbeans-node:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "f8b2d8d9e97029a2", "trace_id": "723c6bd8bf2cdc91d20dc3713952bec2", "name": "GET opbeans.views.product_customers", "type": "request", "duration": 73.79079097881913, "result": "HTTP 2xx", "timestamp": 1646055522627851, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "a6d27e5f959baf89", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "accept": "*/*", "accept-encoding": "gzip, deflate", "elastic-apm-traceparent": "00-723c6bd8bf2cdc91d20dc3713952bec2-a6d27e5f959baf89-01", "traceparent": "00-723c6bd8bf2cdc91d20dc3713952bec2-a6d27e5f959baf89-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14"}, "url": {"full": "http://opbeans-go:3000/api/products/2/customers", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/products/2/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "110745", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 9, "username": "timothy77", "email": "timothy77@ward.com"}, "tags": {"request_id": "8d1f70ee-e663-4198-9ad8-929e9c3fd4ed", "customer_tier": "$$$$"}}}} +{"span": {"id": "0caa9c619c0004ea", "transaction_id": "277bb4e65340d46c", "trace_id": "9060b2f379785125159c50eb4bdd4444", "parent_id": "277bb4e65340d46c", "name": "GET opbeans-ruby:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055522780810, "duration": 30.39970900863409, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-ruby:3000/api/types/1", "status_code": 200}, "destination": {"service": {"resource": "opbeans-ruby:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "277bb4e65340d46c", "trace_id": "9060b2f379785125159c50eb4bdd4444", "name": "GET opbeans.views.product_type", "type": "request", "duration": 47.916125011397526, "result": "HTTP 2xx", "timestamp": 1646055522771373, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/types/1", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/types/1", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "116", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 11, "username": "crystal68", "email": "crystal68@gonzales-horn.info"}, "tags": {"request_id": "3cf8eaf8-9cc1-442e-b561-b824cc7dcb26", "customer_tier": "$$"}}}} +{"span": {"id": "be27b6acc20a7782", "transaction_id": "5125d92399897df5", "trace_id": "6712d6d3674a2686ada2f0e020edde8c", "parent_id": "5125d92399897df5", "name": "GET opbeans-go:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055522853563, "duration": 34.63249999913387, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-go:3000/api/products/1", "status_code": 200}, "destination": {"service": {"resource": "opbeans-go:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "5125d92399897df5", "trace_id": "6712d6d3674a2686ada2f0e020edde8c", "name": "GET opbeans.views.product", "type": "request", "duration": 53.59262498677708, "result": "HTTP 2xx", "timestamp": 1646055522841481, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/products/1", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/1", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "231", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 12, "username": "matthew21", "email": "matthew21@hernandez-travis.org"}, "tags": {"request_id": "e65aa869-65ac-4b9b-b49b-6e91ac1dc50a", "customer_tier": "$"}}}} +{"span": {"id": "8801c2f809d41e9e", "transaction_id": "838f24ea7ca5582e", "trace_id": "c628cb4b3ad1f7f9306e78e39124c3f3", "parent_id": "838f24ea7ca5582e", "name": "SELECT FROM opbeans_producttype", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055523143250, "duration": 1.918416004627943, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_producttype\".\"id\", \"opbeans_producttype\".\"name\" FROM \"opbeans_producttype\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "838f24ea7ca5582e", "trace_id": "c628cb4b3ad1f7f9306e78e39124c3f3", "name": "GET opbeans.views.product_types", "type": "request", "duration": 12.980708997929469, "result": "HTTP 2xx", "timestamp": 1646055523136339, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/types", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/types", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "123", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 8, "username": "newmananthony", "email": "newmananthony@jones.net"}, "tags": {"request_id": "89c49058-8385-4055-a8eb-4afa311c0aad", "customer_tier": "$$"}}}} +{"span": {"id": "9e33ff137b129fe9", "transaction_id": "6eda564ce67cb470", "trace_id": "cdfb526762a3c1f4917402aaeed88641", "parent_id": "6eda564ce67cb470", "name": "GET opbeans-ruby:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055523266607, "duration": 19.09874999546446, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-ruby:3000/api/types", "status_code": 200}, "destination": {"service": {"resource": "opbeans-ruby:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "6eda564ce67cb470", "trace_id": "cdfb526762a3c1f4917402aaeed88641", "name": "GET opbeans.views.product_types", "type": "request", "duration": 46.18158299126662, "result": "HTTP 2xx", "timestamp": 1646055523258970, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/types", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/types", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "112", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 14, "username": "kimchy", "email": "kimchy@elastic.co"}, "tags": {"request_id": "885723cb-91fa-4e87-906c-850493be6237", "customer_tier": "$$$$"}}}} +{"span": {"id": "138993cdaf1fb78a", "transaction_id": "21af0096a14860f5", "trace_id": "a41ee5700ec45d550f167e47a7ecc20a", "parent_id": "21af0096a14860f5", "name": "GET opbeans-ruby:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055523338591, "duration": 170.3519580187276, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-ruby:3000/api/products", "status_code": 200}, "destination": {"service": {"resource": "opbeans-ruby:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "21af0096a14860f5", "trace_id": "a41ee5700ec45d550f167e47a7ecc20a", "name": "GET opbeans.views.products", "type": "request", "duration": 211.14583301823586, "result": "HTTP 2xx", "timestamp": 1646055523326626, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "ce7aa0fc475d0de2", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "accept": "*/*", "accept-encoding": "gzip, deflate", "elastic-apm-traceparent": "00-a41ee5700ec45d550f167e47a7ecc20a-ce7aa0fc475d0de2-01", "traceparent": "00-a41ee5700ec45d550f167e47a7ecc20a-ce7aa0fc475d0de2-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14"}, "url": {"full": "http://opbeans-go:3000/api/products", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/products", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "2926", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 2, "username": "qlopez", "email": "qlopez@galvan-vasquez.net"}, "tags": {"request_id": "a4c8e7ce-ec4c-400e-9450-e7eb947153fc", "customer_tier": "$$$$"}}}} +{"span": {"id": "5b39db736f97985f", "transaction_id": "f610debc80739258", "trace_id": "b4b803f976b32ea12bb284ff9926967f", "parent_id": "f610debc80739258", "name": "SELECT FROM opbeans_producttype", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055523668420, "duration": 1.5835000085644424, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_producttype\".\"id\", \"opbeans_producttype\".\"name\" FROM \"opbeans_producttype\" WHERE \"opbeans_producttype\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "493f7834c44c8dc8", "transaction_id": "f610debc80739258", "trace_id": "b4b803f976b32ea12bb284ff9926967f", "parent_id": "f610debc80739258", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055523675351, "duration": 1.69870798708871, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_product\".\"id\", \"opbeans_product\".\"name\" FROM \"opbeans_product\" WHERE \"opbeans_product\".\"product_type_id\" = %s"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "f610debc80739258", "trace_id": "b4b803f976b32ea12bb284ff9926967f", "name": "GET opbeans.views.product_type", "type": "request", "duration": 21.658166020642966, "result": "HTTP 2xx", "timestamp": 1646055523659418, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/types/3", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/types/3", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "205", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 2, "username": "qlopez", "email": "qlopez@galvan-vasquez.net"}, "tags": {"request_id": "ce30d3ee-6b37-49f4-b7d4-d0f75298206a", "customer_tier": "$$$$"}}}} +{"span": {"id": "6cad9494d990d19c", "transaction_id": "49603f1cf7393e14", "trace_id": "38c9fe04c77a9785256b240737f848e3", "parent_id": "49603f1cf7393e14", "name": "hard-home-work", "type": "code", "subtype": "custom", "action": null, "timestamp": 1646055523702968, "duration": 266.6531249997206, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 308, "library_frame": false, "pre_context": ["", "def home(request):"], "context_line": " with elasticapm.capture_span(\"hard-home-work\"):", "post_context": [" time.sleep(random.random() / 2.0)", " return render(request, \"index.html\")"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"span": {"id": "8be1594ae4adc93b", "transaction_id": "49603f1cf7393e14", "trace_id": "38c9fe04c77a9785256b240737f848e3", "parent_id": "49603f1cf7393e14", "name": "index.html", "type": "template", "subtype": "django", "action": "render", "timestamp": 1646055523974601, "duration": 17.997124989051372, "outcome": "success", "sample_rate": 1.0, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/backends/django.py", "filename": "django/template/backends/django.py", "module": "django.template.backends.django", "function": "render", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/template/loader.py", "filename": "django/template/loader.py", "module": "django.template.loader", "function": "render_to_string", "lineno": 62, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/shortcuts.py", "filename": "django/shortcuts.py", "module": "django.shortcuts", "function": "render", "lineno": 19, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "home", "lineno": 310, "library_frame": false, "pre_context": [" with elasticapm.capture_span(\"hard-home-work\"):", " time.sleep(random.random() / 2.0)"], "context_line": " return render(request, \"index.html\")", "post_context": ["", ""]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "49603f1cf7393e14", "trace_id": "38c9fe04c77a9785256b240737f848e3", "name": "GET opbeans.views.home", "type": "request", "duration": 307.4074999894947, "result": "HTTP 2xx", "timestamp": 1646055523700877, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "351c773c210d68c2", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "text/html; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "871", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 13, "username": "michelle74", "email": "michelle74@barnes.net"}, "tags": {"request_id": "b0be24ed-8ff7-462d-94e0-9d8b8144afdd", "customer_tier": "$$$"}}}} +{"span": {"id": "1988d950373f64e5", "transaction_id": "81b84e097f2c1d9b", "trace_id": "bdedd29b969b35364eb87ae0742c9754", "parent_id": "81b84e097f2c1d9b", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055524138268, "duration": 1.6033750143833458, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_product\".\"id\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_product\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "cb39bd1b6ccc0d30", "transaction_id": "81b84e097f2c1d9b", "trace_id": "bdedd29b969b35364eb87ae0742c9754", "parent_id": "81b84e097f2c1d9b", "name": "SELECT FROM opbeans_producttype", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055524148211, "duration": 0.8183330064639449, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_producttype\".\"id\", \"opbeans_producttype\".\"name\" FROM \"opbeans_producttype\" WHERE \"opbeans_producttype\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "81b84e097f2c1d9b", "trace_id": "bdedd29b969b35364eb87ae0742c9754", "name": "GET opbeans.views.products", "type": "request", "duration": 21.38562500476837, "result": "HTTP 2xx", "timestamp": 1646055524131215, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "29c78506e57ca72f", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "accept": "*/*", "accept-encoding": "gzip, deflate", "elastic-apm-traceparent": "00-bdedd29b969b35364eb87ae0742c9754-29c78506e57ca72f-01", "traceparent": "00-bdedd29b969b35364eb87ae0742c9754-29c78506e57ca72f-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14"}, "url": {"full": "http://opbeans-go:3000/api/products", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/products", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 9, "username": "timothy77", "email": "timothy77@ward.com"}, "tags": {"request_id": "736305d7-3cfb-40a9-ba8b-609313e7e34f", "customer_tier": "$$$$"}}}} +{"span": {"id": "68ac9412f47027f4", "transaction_id": "3c51475aadffe239", "trace_id": "36a6146199ba0658fa6079a4dc25b33d", "parent_id": "3c51475aadffe239", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055524241131, "duration": 1.1194580001756549, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" WHERE \"opbeans_order\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "455f64af5f0d6fd6", "transaction_id": "3c51475aadffe239", "trace_id": "36a6146199ba0658fa6079a4dc25b33d", "parent_id": "3c51475aadffe239", "name": "SELECT FROM opbeans_orderline", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055524250142, "duration": 1.5627499960828573, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_orderline\".\"product_id\", \"opbeans_orderline\".\"amount\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_orderline\" INNER JOIN \"opbeans_product\" ON (\"opbeans_orderline\".\"product_id\" = \"opbeans_product\".\"id\") WHERE \"opbeans_orderline\".\"order_id\" = %s"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "3c51475aadffe239", "trace_id": "36a6146199ba0658fa6079a4dc25b33d", "name": "GET opbeans.views.order", "type": "request", "duration": 30.60179197927937, "result": "HTTP 2xx", "timestamp": 1646055524234865, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "parent_id": "a0d663037aa3e2fe", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.9", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.9"}, "cookies": {}, "headers": {"host": "opbeans-go:3000", "user-agent": "Python/3.7 aiohttp/3.3.2", "accept": "*/*", "accept-encoding": "gzip, deflate", "elastic-apm-traceparent": "00-36a6146199ba0658fa6079a4dc25b33d-a0d663037aa3e2fe-01", "traceparent": "00-36a6146199ba0658fa6079a4dc25b33d-a0d663037aa3e2fe-01", "tracestate": "es=s:1", "x-forwarded-for": "172.23.0.14, 172.23.0.9"}, "url": {"full": "http://opbeans-go:3000/api/orders/549", "protocol": "http:", "hostname": "opbeans-go", "pathname": "/api/orders/549", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "312", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 11, "username": "crystal68", "email": "crystal68@gonzales-horn.info"}, "tags": {"request_id": "128ae6e7-1e73-4516-a822-9e51d4537b53", "customer_tier": "$$"}}}} +{"span": {"id": "abcd54ee8aa6895b", "transaction_id": "e19c1d8f81e4a048", "trace_id": "7db87f72dd84da816a5556253d53e6d5", "parent_id": "e19c1d8f81e4a048", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055524354143, "duration": 2.8174580074846745, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "e19c1d8f81e4a048", "trace_id": "7db87f72dd84da816a5556253d53e6d5", "name": "GET opbeans.views.customers", "type": "request", "duration": 46.71204200712964, "result": "HTTP 2xx", "timestamp": 1646055524347590, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/customers", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "203686", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 20, "username": "danny42", "email": "danny42@greer-wilson.com"}, "tags": {"request_id": "ea527ddb-e4a8-43d4-b708-1c1e00593f6c", "customer_tier": "$$"}}}} +{"span": {"id": "d90dffdf2ed5d3af", "transaction_id": "e693c8902f8cd991", "trace_id": "3a1901ec8a83c9255d00559cd62e114b", "parent_id": "e693c8902f8cd991", "name": "GET opbeans-go:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055524426277, "duration": 75.92595799360424, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-go:3000/api/types/1", "status_code": 200}, "destination": {"service": {"resource": "opbeans-go:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "e693c8902f8cd991", "trace_id": "3a1901ec8a83c9255d00559cd62e114b", "name": "GET opbeans.views.product_type", "type": "request", "duration": 94.95058297761716, "result": "HTTP 2xx", "timestamp": 1646055524415040, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/types/1", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/types/1", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "116", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 9, "username": "timothy77", "email": "timothy77@ward.com"}, "tags": {"request_id": "e36b49ed-d495-4076-a21a-ca220d9150ea", "customer_tier": "$$$$"}}}} +{"span": {"id": "e5374b11e3c01352", "transaction_id": "169cfbf5cee63994", "trace_id": "ec2b7ea55cad3dcea73080fb16f44fd8", "parent_id": "169cfbf5cee63994", "name": "SELECT FROM opbeans_product", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055524525010, "duration": 1.272207999136299, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_product\".\"id\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_producttype\".\"name\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_product\" INNER JOIN \"opbeans_producttype\" ON (\"opbeans_product\".\"product_type_id\" = \"opbeans_producttype\".\"id\") WHERE \"opbeans_product\".\"id\" = %s LIMIT 1"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "169cfbf5cee63994", "trace_id": "ec2b7ea55cad3dcea73080fb16f44fd8", "name": "GET opbeans.views.product", "type": "request", "duration": 14.355874998727813, "result": "HTTP 2xx", "timestamp": 1646055524516252, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "parent_id": "d6dfae9fb65049fc", "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.10", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.10"}, "cookies": {}, "headers": {"traceparent": "00-ec2b7ea55cad3dcea73080fb16f44fd8-d6dfae9fb65049fc-01", "tracestate": "es=s:1", "elastic-apm-traceparent": "00-ec2b7ea55cad3dcea73080fb16f44fd8-d6dfae9fb65049fc-01", "host": "opbeans-python:3000", "connection": "close"}, "url": {"full": "http://opbeans-python:3000/api/products/4", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/4", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "260", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 12, "username": "matthew21", "email": "matthew21@hernandez-travis.org"}, "tags": {"request_id": "48d86153-a649-4fbf-b8d5-f6e95adc2a83", "customer_tier": "$"}}}} +{"span": {"id": "e1ec70791d6dd262", "transaction_id": "00c578eb5b971a1a", "trace_id": "38b002587821f14aa1c8a5e843f5994b", "parent_id": "00c578eb5b971a1a", "name": "GET opbeans-node:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055524558142, "duration": 29.70720801386051, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-node:3000/api/products/4", "status_code": 200}, "destination": {"service": {"resource": "opbeans-node:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "00c578eb5b971a1a", "trace_id": "38b002587821f14aa1c8a5e843f5994b", "name": "GET opbeans.views.product", "type": "request", "duration": 58.60499999835156, "result": "HTTP 2xx", "timestamp": 1646055524538030, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/products/4", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/4", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "243", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 15, "username": "jeremy19", "email": "jeremy19@perry-west.com"}, "tags": {"request_id": "9b1f6baa-62a6-4130-a38c-7c5c0bca9cff", "customer_tier": "$"}}}} +{"span": {"id": "5f3c83251f32376d", "transaction_id": "ac25b8def0949c8c", "trace_id": "1619eff8f8572d1aed899c99f0609f68", "parent_id": "ac25b8def0949c8c", "name": "GET opbeans-node:3000", "type": "external", "subtype": "http", "action": null, "timestamp": 1646055524629076, "duration": 61.35695899138227, "outcome": "success", "sample_rate": 1.0, "context": {"http": {"url": "http://opbeans-node:3000/api/products/4", "status_code": 200}, "destination": {"service": {"resource": "opbeans-node:3000", "name": "", "type": ""}}}, "stacktrace": [{"abs_path": "/app/venv/lib/python3.10/site-packages/requests/sessions.py", "filename": "requests/sessions.py", "module": "requests.sessions", "function": "request", "lineno": 529, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "request", "lineno": 61, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/requests/api.py", "filename": "requests/api.py", "module": "requests.api", "function": "get", "lineno": 75, "library_frame": true}, {"abs_path": "/app/opbeans/views.py", "filename": "opbeans/views.py", "module": "opbeans.views", "function": "wrapped_view", "lineno": 57, "library_frame": false, "pre_context": [" logger.info(\"dt_ping_pong_proxy\", url=url)", " try:"], "context_line": " other_response = requests.get(url, timeout=15)", "post_context": [" except requests.exceptions.Timeout:", " logger.error(\"dt_ping_pong_timeout\", service=other_service)"]}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "_get_response", "lineno": 181, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/whitenoise/middleware.py", "filename": "whitenoise/middleware.py", "module": "whitenoise.middleware", "function": "__call__", "lineno": 60, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/utils/deprecation.py", "filename": "django/utils/deprecation.py", "module": "django.utils.deprecation", "function": "__call__", "lineno": 117, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", "filename": "django/core/handlers/exception.py", "module": "django.core.handlers.exception", "function": "inner", "lineno": 47, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/base.py", "filename": "django/core/handlers/base.py", "module": "django.core.handlers.base", "function": "get_response", "lineno": 130, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/django/core/handlers/wsgi.py", "filename": "django/core/handlers/wsgi.py", "module": "django.core.handlers.wsgi", "function": "__call__", "lineno": 133, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle_request", "lineno": 179, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "handle", "lineno": 136, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "accept", "lineno": 31, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run_for_one", "lineno": 69, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/sync.py", "filename": "gunicorn/workers/sync.py", "module": "gunicorn.workers.sync", "function": "run", "lineno": 125, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", "filename": "gunicorn/workers/base.py", "module": "gunicorn.workers.base", "function": "init_process", "lineno": 142, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_worker", "lineno": 589, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "spawn_workers", "lineno": 622, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "manage_workers", "lineno": 551, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", "filename": "gunicorn/arbiter.py", "module": "gunicorn.arbiter", "function": "run", "lineno": 202, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 72, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/base.py", "filename": "gunicorn/app/base.py", "module": "gunicorn.app.base", "function": "run", "lineno": 231, "library_frame": true}, {"abs_path": "/app/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", "filename": "gunicorn/app/wsgiapp.py", "module": "gunicorn.app.wsgiapp", "function": "run", "lineno": 67, "library_frame": true}, {"abs_path": "/app/venv/bin/gunicorn", "filename": "bin/gunicorn", "module": "__main__", "function": "", "lineno": 8, "library_frame": false, "pre_context": ["if __name__ == '__main__':", " sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])"], "context_line": " sys.exit(run())", "post_context": []}]}} +{"transaction": {"id": "ac25b8def0949c8c", "trace_id": "1619eff8f8572d1aed899c99f0609f68", "name": "GET opbeans.views.product", "type": "request", "duration": 83.06883298791945, "result": "HTTP 2xx", "timestamp": 1646055524617746, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/products/4", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/4", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "DENY", "Content-Length": "331", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 4, "username": "ooneal", "email": "ooneal@barnett.com"}, "tags": {"request_id": "dbe0e43b-9742-4311-aecb-00f9b6234947", "customer_tier": "$"}}}} +{"span": {"id": "baba0dc4edf0115a", "transaction_id": "1bc5a182d8591fcf", "trace_id": "1048ff7c4bbd1649e52ae1649465cb75", "parent_id": "1bc5a182d8591fcf", "name": "SELECT FROM opbeans_producttype", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055524726181, "duration": 1.0164999985136092, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_producttype\".\"id\", \"opbeans_producttype\".\"name\" FROM \"opbeans_producttype\""}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "1bc5a182d8591fcf", "trace_id": "1048ff7c4bbd1649e52ae1649465cb75", "name": "GET opbeans.views.product_types", "type": "request", "duration": 12.982500018551946, "result": "HTTP 2xx", "timestamp": 1646055524719744, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/types", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/types", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "123", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 9, "username": "timothy77", "email": "timothy77@ward.com"}, "tags": {"request_id": "e7254e87-5c80-4271-a71c-7e6c6fde6311", "customer_tier": "$$$$"}}}} +{"span": {"id": "217d4e00db866406", "transaction_id": "d915c6399ea0c86b", "trace_id": "35baecbf546b8f94e6a45d737e49e04e", "parent_id": "d915c6399ea0c86b", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055524761820, "duration": 2.1371670009102672, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT DISTINCT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" INNER JOIN \"opbeans_order\" ON (\"opbeans_customer\".\"id\" = \"opbeans_order\".\"customer_id\") INNER JOIN \"opbeans_orderline\" ON (\"opbeans_order\".\"id\" = \"opbeans_orderline\".\"order_id\") WHERE \"opbeans_orderline\".\"product_id\" = %s LIMIT 1000"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "d915c6399ea0c86b", "trace_id": "35baecbf546b8f94e6a45d737e49e04e", "name": "GET opbeans.views.product_customers", "type": "request", "duration": 24.20262500527315, "result": "HTTP 2xx", "timestamp": 1646055524750816, "outcome": "success", "sampled": true, "span_count": {"started": 1, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/products/6/customers", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/products/6/customers", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "15602", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 20, "username": "danny42", "email": "danny42@greer-wilson.com"}, "tags": {"request_id": "460c4dc0-8a20-4e23-8764-074ede95deca", "customer_tier": "$$"}}}} +{"span": {"id": "92821fe9205e3a52", "transaction_id": "2c06cd8c293b2902", "trace_id": "f7e5cac6c84cb41340bb0d303a78ca07", "parent_id": "2c06cd8c293b2902", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055524798920, "duration": 1.048874983098358, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" WHERE \"opbeans_order\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "b5e58506a706461e", "transaction_id": "2c06cd8c293b2902", "trace_id": "f7e5cac6c84cb41340bb0d303a78ca07", "parent_id": "2c06cd8c293b2902", "name": "SELECT FROM opbeans_orderline", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055524807978, "duration": 1.5646250103600323, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_orderline\".\"product_id\", \"opbeans_orderline\".\"amount\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_orderline\" INNER JOIN \"opbeans_product\" ON (\"opbeans_orderline\".\"product_id\" = \"opbeans_product\".\"id\") WHERE \"opbeans_orderline\".\"order_id\" = %s"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "2c06cd8c293b2902", "trace_id": "f7e5cac6c84cb41340bb0d303a78ca07", "name": "GET opbeans.views.order", "type": "request", "duration": 27.377374994102865, "result": "HTTP 2xx", "timestamp": 1646055524793429, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/orders/622", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/orders/622", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "322", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 11, "username": "crystal68", "email": "crystal68@gonzales-horn.info"}, "tags": {"request_id": "530daa61-f5d8-4baf-a355-3bb95e00ea03", "customer_tier": "$$"}}}} +{"span": {"id": "e26d082f45ef784f", "transaction_id": "30334db90da9256a", "trace_id": "b59395c49d359cd72e3bebf2558f2877", "parent_id": "30334db90da9256a", "name": "SELECT FROM opbeans_order", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055524847303, "duration": 1.4759579789824784, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_order\".\"id\", \"opbeans_order\".\"customer_id\", \"opbeans_order\".\"created_at\" FROM \"opbeans_order\" WHERE \"opbeans_order\".\"id\" = %s LIMIT 21"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "dc91153e28f86eb0", "transaction_id": "30334db90da9256a", "trace_id": "b59395c49d359cd72e3bebf2558f2877", "parent_id": "30334db90da9256a", "name": "SELECT FROM opbeans_orderline", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055524863776, "duration": 4.120041005080566, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_orderline\".\"product_id\", \"opbeans_orderline\".\"amount\", \"opbeans_product\".\"sku\", \"opbeans_product\".\"name\", \"opbeans_product\".\"description\", \"opbeans_product\".\"product_type_id\", \"opbeans_product\".\"stock\", \"opbeans_product\".\"cost\", \"opbeans_product\".\"selling_price\" FROM \"opbeans_orderline\" INNER JOIN \"opbeans_product\" ON (\"opbeans_orderline\".\"product_id\" = \"opbeans_product\".\"id\") WHERE \"opbeans_orderline\".\"order_id\" = %s"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"transaction": {"id": "30334db90da9256a", "trace_id": "b59395c49d359cd72e3bebf2558f2877", "name": "GET opbeans.views.order", "type": "request", "duration": 36.62937501212582, "result": "HTTP 2xx", "timestamp": 1646055524839649, "outcome": "success", "sampled": true, "span_count": {"started": 2, "dropped": 0}, "sample_rate": 1.0, "context": {"request": {"env": {"REMOTE_ADDR": "172.23.0.14", "SERVER_NAME": "0.0.0.0", "SERVER_PORT": "3000"}, "method": "GET", "socket": {"remote_address": "172.23.0.14"}, "cookies": {}, "headers": {"accept": "*/*", "accept-encoding": "gzip, deflate", "host": "opbeans-python:3000", "user-agent": "Python/3.7 aiohttp/3.3.2"}, "url": {"full": "http://opbeans-python:3000/api/orders/110", "protocol": "http:", "hostname": "opbeans-python", "pathname": "/api/orders/110", "port": "3000"}}, "response": {"status_code": 200, "headers": {"Content-Type": "application/json", "X-Frame-Options": "DENY", "Content-Length": "86", "Vary": "Cookie", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "same-origin"}}, "user": {"is_authenticated": true, "id": 18, "username": "patrick89", "email": "patrick89@smith.com"}, "tags": {"request_id": "d400380e-3833-4ea6-88df-aac82c96dd07", "customer_tier": "$$$$"}}}} +{"span": {"id": "3a0d15ab8c93de63", "transaction_id": "b1ee8604704ca9f5", "trace_id": "0d397afb71663d739fd96fd3ae416b7a", "parent_id": "b1ee8604704ca9f5", "name": "SELECT FROM opbeans_customer", "type": "db", "subtype": "postgresql", "action": "query", "timestamp": 1646055524900081, "duration": 1.0334580147173256, "outcome": "success", "sample_rate": 1.0, "context": {"db": {"type": "sql", "statement": "SELECT \"opbeans_customer\".\"id\", \"opbeans_customer\".\"full_name\", \"opbeans_customer\".\"company_name\", \"opbeans_customer\".\"email\", \"opbeans_customer\".\"address\", \"opbeans_customer\".\"postal_code\", \"opbeans_customer\".\"city\", \"opbeans_customer\".\"country\" FROM \"opbeans_customer\" WHERE \"opbeans_customer\".\"id\" = %s LIMIT 1"}, "destination": {"address": "postgres", "port": 5432, "service": {"resource": "postgresql", "name": "", "type": ""}}}}} +{"span": {"id": "3c07ecbd0d7aa6d9", "transaction_id": "b1ee8604704ca9f5", "trace_id": "0d397afb71663d739fd96fd3ae416b7a", "parent_id": "b1ee8604704ca9f5", "name": "